| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
got rid of the bullshit dance between XRGB32 and RGBA32, now
all rasters are RGBA32 and premultiply alpha before loading
up an image and drawing over the destination. this lets the
user compose their own scenes with correct transparency.
no more mediocre clearcolor.
as a consequence drawing got slower, but if i get the turbo
drawing pool working properly that should go away.
textures also take alpha pre-multiplied channels into account,
dividing them when sampling, so loading transparent textures
will show the correct colors.
|
|
|
|
|
|
|
|
|
|
| |
this commit also includes the turbo drawing pool.
the experiment was successful in getting reasonable
drawing times to a fullhd image, but the process
causes glitches when moving the objects around,
which is unacceptable.
it's been commented out for now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
got a bit tired of having to add a ulong *buf every time
i needed to get some data out of the shaders, so i made
it possible to create as many extra buffers as needed,
which then can be addressed from the fragment shader
and drawn using the same drawing routines that were used
for the color buffer.
these so called Rasters are very similar to the OpenGL
FBOs, in case you are familiar, but we address them by
strings instead of numbers. and they can also be used as
textures if you create one (see alloctexture) and then
memdraw into it after every shot.
|
| |
|
|
|
|
|
|
| |
now changing the viewport offset will correctly show the
portion of the framebuffer that's visible, including
support for upscaled views.
|
| |
|
|
|
|
|
|
|
|
|
| |
very simple, without anti-aliasing, made for getting
OIT (order independent transparency) rendering of
arbitrary objects.
also added switches for blending, depth testing and the
A-buffer to the camera.
|
|
|
|
| |
procedures to its own unit.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
added a normals buffer for debugging.
|
| |
|
|
|
|
| |
this provides fair scheduling, minimizing contention.
|
|
|
|
|
| |
this is only an structural replacement and doesn't add
support for the other primitive types.
|
|
|
|
|
| |
- got rid of the z-buffer lock to avoid contention.
- little improvements to fb.c
|
|
|
|
|
|
|
|
|
|
| |
> They made two mistakes. they hanged the wrong man and they didn't finish the job.
so Clint Eastwood came back to kick my ass. the mistakes in
question were that the Viewport shouldn't know about double
buffering, conceptually it has a framebuffer and that's it.
the second one was passing it to the renderer, when the
renderer couldn't care less about what a viewport is.
|
| |
|
|
i integrated the renderer i've been developing
on the tinyrend repo and got rid of a bunch of
stuff that's no longer necessary. also began
structuring things to fit the new interface i
have in mind.
there are still some artifacts with the
projection xforms that cause issues with
clipping and division by zero.
|