HW DoubleBuffer rotated brush missing

Discuss OpenGL® programming with the GL Galore plugin here
Post Reply
User avatar
lazi
Posts: 625
Joined: Thu Feb 24, 2011 11:08 pm

HW DoubleBuffer rotated brush missing

Post by lazi »

Conditions:
- glgalore
- hardware brush
- hardware double buffer
- rotate the brush by standard drawing tag
- displayed brush part left out the window

Effect:
- no brush displayed

Script with hardware brush:

Code: Select all

@REQUIRE "glgalore.hwp"
BeginDoubleBuffer(True)

SetFont(#SANS,60)
CreateBrush(2,100,100,#RED)
SelectBrush(2)
TextOut(#CENTER,#CENTER,"A")
EndSelect
CopyBrush(2,1,{hardware=True})

DisplayBrush(1,-50,10)
DisplayBrush(1,-50,200,{rotate=180,anchorx=1,anchory=1})
DisplayBrush(1,600,200,{rotate=180,anchorx=1,anchory=1})

Flip

WaitLeftMouse
Image

Script with non hardware brush:

Code: Select all

@REQUIRE "glgalore.hwp"
BeginDoubleBuffer(True)

SetFont(#SANS,60)
CreateBrush(2,100,100,#RED)
SelectBrush(2)
TextOut(#CENTER,#CENTER,"A")
EndSelect
CopyBrush(2,1,{hardware=False})

DisplayBrush(1,-50,10)
DisplayBrush(1,-50,200,{rotate=180,anchorx=1,anchory=1})
DisplayBrush(1,600,200,{rotate=180,anchorx=1,anchory=1})

Flip

WaitLeftMouse  
Image
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: HW DoubleBuffer rotated brush missing

Post by airsoftsoftwair »

Works with RebelSDL's hardware brushes, so it looks like a bug in GL Galore, not in Hollywood itself. Will be fixed.
User avatar
lazi
Posts: 625
Joined: Thu Feb 24, 2011 11:08 pm

Re: HW DoubleBuffer rotated brush missing

Post by lazi »

Nice, thanks!

Anyway, is it impossible to implement correct display syncing to the Hollywood display engine on Amiga systems like in GLGalore?
And perhaps in windowed mode?

Yes I know: users are insatiable. :-)
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: HW DoubleBuffer rotated brush missing

Post by airsoftsoftwair »

lazi wrote:Anyway, is it impossible to implement correct display syncing to the Hollywood display engine on Amiga systems like in GLGalore?
And perhaps in windowed mode?
In windowed mode that won't work because even MiniGL and TinyGL can't do it in windowed mode so it's probably an OS limitation.

Also in fullscreen mode it's only possible with limitations. Display syncing requires Hollywood to use OS double buffered functions but these can only be used if there is only one display on the screen and if it doesn't use window borders and other window functionality. Using OS double buffered functions for fullscreen drawing imposes all kinds of limitations on Hollywood's display handler so I won't do that for the default display engine. If you need vertical refresh syncing, use GL Galore.
Post Reply