15 March 2014, 07:15 | #1 |
Registered User
Join Date: Mar 2014
Location: Akaa
Posts: 57
|
How i can limit which bitplanes used for functions like Circle,Boxf etc ? (all graphic functions expect sprites)
and which is fastest way (i think if i use pure blitz basic maybe shapes = bobs) are faster than Boxf when i need clipping ? if i dont need such thing which is fastest way ? i dont yet even know sure but very likely Boxf even its fast is maybe too slow. and i cannot wrote itself function with assembler which draws things what i want. Bitplanesbitmap sounds complicated becouse i must put stuff back to display which consumes time etc. Last edited by TCD; 15 March 2014 at 08:39. Reason: Back-to-back posts merged |
15 March 2014, 09:03 | #2 |
Registered User
Join Date: Mar 2014
Location: Akaa
Posts: 57
|
Blitz basic graphical source with problem
I try made simple thing what i wrote program to test basic stuff where i add new realstuff when i get this working basic thing. i try combine 2 single bitmaps to 4 colour mode. and even maybe if Amiga power allow even 3 bitmaps to make 8 color mode.top it that i try use doublebuffering and i try draw own unique stuff all single bitmaps. its years ago when i coded and i never tired this thing before.
ps. btw i found do this anotherway if two 2 coloured bitmaps mixed to single 4 colour. easier but i want try with 3 bitmaps to 8colour... i going text this next. NoCli WBStartup BLITZ BitMap 0,320,256,2 BitMap 1,320,256,2 BitMap 2,320,256,1 BitMap 3,256,256,1 Slice 0,42,2 RGB 0,0,0,0 RGB 1,7,0,0 RGB 2,0,7,0 RGB 3,7,7,0 Repeat Show BMAP BMAP=1-BMAP Use BitMap BMAP ;BitPlanesBitMap BMAP,2,1 Use BitMap 2 lasku=lasku+1 If lasku>3599 Then lasku=0 Cls 0 Circlef 160+Sin(lasku/180*Pi+Sin(lasku/90*Pi)*1)*128,128+Sin(lasku/360*Pi)*128,36,1 ;Use BitMap 3 Cls 0 Circlef 160+Sin(lasku/90*Pi+Sin(lasku/180*Pi)*1)*128,128+Sin(lasku/360*Pi)*128,36,1 BitPlanesBitMap 2,BMAP,1 BitPlanesBitMap 3,BMAP,1 VWait Until Joyb(0)=1 End |
15 March 2014, 10:21 | #3 |
Registered User
Join Date: Mar 2014
Location: Akaa
Posts: 57
|
Now i tired this: at least fs-uae graphics shows things what i dont want and graphics also flickers very much. still very likely problem is not fs-uae. becouse all other programs what i tested works fine even impossible mission 2025 which uses dualplayfield i bet. and i also bet is more heavy for emulator...
originally i try way wich worked real amiga fine non dual playfield display.(at least when i use older AmiBlitz). i can position odd and even bitplanes own position using ShowB,and ShowF. to get specialfx. NoCli WBStartup BLITZ BitMap 0,320,256,1 BitMap 1,320,256,1 BitMap 2,320,256,1 BitMap 3,256,256,1 Slice 0,42,$fff8 For bm=0 To 3 Use BitMap bm Cls 0 Next RGB 0,08,05,04 RGB 1,15,05,03 RGB 2,08,12,03 RGB 3,15,12,03 Repeat las=las+1 If las>3599 Then lask=0 bmap=2-bmap Use BitMap bmap ;Cls 0 Circlef 160+Sin(las/360*Pi)*127,128+Cos(las/180*Pi)*127,30,1 Use BitMap bmap+1 ;Cls 0 Circlef 160+Sin(las/120*Pi)*127,128+Cos(las/360*Pi)*127,30,1 ShowB bmap ShowF bmap+1 VWait Until Joyb(0)=1 End |
19 September 2014, 10:07 | #4 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
|
19 September 2014, 17:56 | #5 |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
|
|
19 September 2014, 22:04 | #6 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Some languages do not like using the variable being calculated in the calculation itself. If Blitz doesn't complain about it (or crash!), then it should indeed toggle between 0 and 2 (or 2 and 0, whichever way you like to put it ).
(smallprint: I'm not a Blitz programmer) |
11 January 2015, 21:34 | #7 | |
Registered User
Join Date: Oct 2014
Location: Europe
Posts: 470
|
Quote:
I can walk you through Bitplanesbitmap (it is very easy), i'm not quite sure yet it is your solution. |
|
11 January 2015, 21:35 | #8 | |
Registered User
Join Date: Oct 2014
Location: Europe
Posts: 470
|
Quote:
|
|
31 January 2015, 22:06 | #9 |
Registered User
Join Date: Oct 2014
Location: Europe
Posts: 470
|
dunno, transparent spheres...
Do you try to create a display with two transparent spheres?
Then i think i fixed it. a little. Code:
NoCli WBStartup BLITZ DEFTYPE.w ;never ignore speed ;-) BitMap 0,320,256,1 BitMap 1,320,256,1 BitMap 2,320,256,1 BitMap 3,256,256,1 ;Slice 0,42,$fff8 Slice0,42,2 ;2planes, no special stuff For bm.w=0 To 3 Use BitMap bm Cls 0 Next RGB 0,08,05,04 RGB 1,15,05,03 RGB 2,08,12,03 RGB 3,15,12,03 ;some precalcs ;make a table here for sin() and cos()!!!! Repeat las.w+1 If las>3599 Then las=0 bmap.w=2-bmap Use BitMap bmap ;cls left commented as found ;Cls 0 ;use planeclear instead!! ;never do Sin() Cos() without tables!! floats beeing cast to quick (then to word) 50 times a second (well, maybe) Circlef 160+Sin(las/360 *Pi)*127,128+Cos(las/180 *Pi)*127,30,1 Use BitMap bmap+1 ;Cls 0 Circlef 160+Sin(las/120 *Pi)*127,128+Cos(las/360 *Pi)*127,30,1 ShowB 0 ; ShowF 1 ; VWait Until Joyb(0)=1 End When you uncomment the CLS's, then flickering appears, because the screen is not redrawn or cleared fast enough. This is happening because the calculation inside the loop takes too long, also the CLS command is too slow. You can improve it by using a bitplane clear cmd using the CPU instead. Last edited by Cylon; 31 January 2015 at 23:20. Reason: add more text |
22 March 2015, 16:40 | #10 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
|
There is a CPU bitmap clear routine in Blitz2:Examples/Blitzmode/Darts_poly.bb.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Blitz basic 2 Help | Havie | Coders. Blitz Basic | 30 | 08 September 2013 09:15 |
blitz basic | petza | request.Apps | 11 | 08 April 2007 01:49 |
Blitz Basic 2 anyone? | jobro | request.Apps | 12 | 28 November 2005 18:15 |
Blitz Basic StopCD32 | Tony Landais | Coders. General | 2 | 08 May 2003 22:51 |
Blitz Basic 2 | LaundroMat | Retrogaming General Discussion | 5 | 24 July 2001 08:10 |
|
|