I want use frame buffer as a texture for sprite (lower left corner of screen), but I noticed funny GS behavior:
Screenshot is made in 3rd loop.
It also happens when I'm doing:
- local to local transmision of actual frame buffer in other place of GS memory
- local to host and after host to local in other place of GS mem.
I've tested 2nd method because I want to develop few 2D effects that modifies frame buffer (eg. blur, water effect, fire :) )
How to achieve exactly one copy of frame buffer and use it on the same frame?
EDIT:
Hmm... I forgot say what i'm really drawing on the one loop, so here it is:
- Full screen white sprite as background
- 2 triangles
- Sprite with copied actual frame buffer
Using frame buffer as a texture
-
- Posts: 13
- Joined: Mon Jul 16, 2007 3:09 am
- Location: Poland
- Contact:
-
- Posts: 13
- Joined: Mon Jul 16, 2007 3:09 am
- Location: Poland
- Contact:
-
- Posts: 13
- Joined: Mon Jul 16, 2007 3:09 am
- Location: Poland
- Contact:
-
- Posts: 13
- Joined: Mon Jul 16, 2007 3:09 am
- Location: Poland
- Contact:
After few days of testing other stuff, I found what was wrong. I just used previous buffer instead of actual, so it wasn't caching or something like that - it was my mistake :).
I wrote something like motion-blur, here is a screenshot:
What my code do in one frame:
- draws white background
- draws one big triangle
- downloads actual frame buffer
- modifies buffer in RAM
- upload buffer from RAM to GS mem in place of actual frame buffer
- draws another triangle (a small one with alpha)
- download actual frame buffer
- save bitmap
I wrote something like motion-blur, here is a screenshot:
What my code do in one frame:
- draws white background
- draws one big triangle
- downloads actual frame buffer
- modifies buffer in RAM
- upload buffer from RAM to GS mem in place of actual frame buffer
- draws another triangle (a small one with alpha)
- download actual frame buffer
- save bitmap