summaryrefslogtreecommitdiff
path: root/viewport.c
Commit message (Collapse)AuthorAgeFilesLines
* implement a general raster interface for the framebuffers.rodri2024-08-291-4/+18
| | | | | | | | | | | | | | | 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.
* unify drawing routines and add clipped fb drawing support.rodri2024-08-171-12/+11
| | | | | | now changing the viewport offset will correctly show the portion of the framebuffer that's visible, including support for upscaled views.
* offset fb during drawing based on viewport config. move OBJ-related ↵rodri2024-08-071-6/+22
| | | | procedures to its own unit.
* add a viewport upscale filters interface.rodri2024-08-021-8/+21
|
* initial viewport upscaling support.rodri2024-07-141-2/+24
|
* new camera interface.rodri2024-07-131-0/+1
|
* simplify the job scheduler. correct two mistakes regarding the Viewport.rodri2024-04-051-8/+1
| | | | | | | | | | > 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.
* add trivial nil checks to some of the cleanup procedures.rodri2024-04-031-0/+2
|
* viewport: add a way to access front and back buffers.rodri2024-04-011-1/+8
|
* pass a Viewport in the Renderjob instead of a fb.rodri2024-03-261-0/+7
| | | | | do the frame buffer clearing and swapping as part of the rendering process, not within shootcamera.
* have separate routines for drawing and memdrawing.rodri2024-02-271-0/+14
|
* import the new renderer and clean things up.rodri2024-01-301-0/+29
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.