| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
the rasterizers now produce a bbox of used fragments/pixels that
are unified at the end of every job/frame. we use that when
drawing so only the part that was rasterized gets sent to devdraw.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
this simplifies the code and serves as another
shadeop to use on application shaders.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
it's possible for interactive programs to keep updating
the geometry of the scene during rendering, which caused
primitives to look deformed or shattered in the final
image.
to avoid this we take a snapshot of the current state of
things (scene and camera), and render based on that copy.
|
|
|
|
|
|
| |
among these other things are clamping the color
channels to [0,1] internally, and adding a
modulation function for mixing colors/points.
|
|
|
|
|
|
|
|
| |
also got rid of the dependency on OBJ for the entire renderer,
instead letting the user load a Model from any given OBJ. this
modularity will allow for other formats to be used in the same
way, relying on a single, internal representation for the
entire pipeline.
|
| |
|
|
|
|
|
| |
also got rid of Deco. there's no point in having that,
just deal with image(6) files.
|
|
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.
|