aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-29Better descriptiontslil clingman
2021-09-26remap controlstslil clingman
2021-09-26Of course i didn't need i32 ...tslil clingman
2021-09-22There was really no reason to use a BoundedArray instead of an arraytslil clingman
2021-09-22Switch to more accurate versiontslil clingman
Pre-emptive micro-optimisation is bad. There aren't that many sprites pixels usually anyway.
2021-09-22Colour blendingtslil clingman
Some amount of work went into finding appropriate integer arithmetic formulae that were reasonably accurate. At this point i've settled for the incorrect-but-faster version. The better-though-slower formulas are still there in case i change my mind. It would help to have an assumption such as, but not limited to, the surfaces are always going to be fully opaque.
2021-09-20Render objects by writing pixelstslil clingman
This confines hardware acceleration to scaling and the background sprite. Unfortunately it would seem that to do proper object rendering (partial transparency) i'll have to implement colour mixing myself.
2021-09-20Corrected rendering bugtslil clingman
2021-09-20Render walls by pixels, instead of using hard. accel. spritestslil clingman
2021-09-16Corrected movementtslil clingman
2021-09-12Walk bob and collision detectiontslil clingman
2021-09-12Update instructionstslil clingman
2021-09-12Rendering bugtslil clingman
2021-09-12More efficient surface rendering!tslil clingman
Now, outside of sprites, every pixel on the screen is draw at most once. Hoorah. Unfortunately things still seem to be a little slow, perhaps its the z_buffer access or the fact that vertical floor slice drawing is bad?
2021-09-11Render tops of low walls!tslil clingman
But it's very inefficient right now
2021-09-10Improved vertical wall texture tilingtslil clingman
2021-09-10Re-organised code, moved all rendering into raycast.zigtslil clingman
2021-09-10Textures repeat rather than scale?tslil clingman
2021-09-09Don't override the skycylinder!tslil clingman
2021-09-09Added ceilings and pos_z to sprites (they can now be on the ceiling)tslil clingman
2021-09-06Only attempt to render cells with h > 0tslil clingman
2021-09-05In response to issue #9629, correct usingnamespace usagetslil clingman
2021-09-05Water-cooler looks less like someone with a hat now.tslil clingman
2021-09-05Changed map scaling, texture indexing, finished object rendering!tslil clingman
2021-09-05I don't understand this, but it works ...tslil clingman
For whatever reason, we /can/ compensate for the TERRIBLE linear interpolation hacks on direction (and so distance) computations for the walls and floors. We do this by scaling the otherwise exact and correct computations for the perp_distance and centre of an object by the magic number FOV_SCALE = 2 * tan(FOV / 2) Why? Who knows. This is a little frustrating, because it means i don't understand some part of the rendering process.
2021-09-05Sprite rendering skeleton!tslil clingman
Except that i'm not satisfied. It would appear that we're computing various distances more-or-less exactly in the sprite rendering process, but this is at odds with the walls and floors which -- by virtue of the linear interpolation garbage -- don't agree about where things are. The net result is that there are at least two fudge factors: - to account to for the incorrect height of the floors i shift the sprites up by 0.2 - to account for the incorrect wall distances i add 1 to the z_buffer comparison These fudges are ugly and empirical. Still to do: for more than one object we have to sort by distance first!
2021-09-04*linear* interpolation on direction vectors seems fine!?tslil clingman
2021-09-04Working on floor casting, but it's not quite righttslil clingman
The way floors are currently rendered the textures will always appear ``under'' the walls. This is not intended for shorter walls, the floor should be atop them. I might be able to fix this by switching to vertical scan-line rendering of floors -- although i understand that that is less efficient -- and doing this at the same time as wall rendering.
2021-09-01Scale the projection plane to the screen correctlytslil clingman
Also bumped up the textures to 32x32
2021-09-01Variable height walls!tslil clingman
2021-09-01Licensing stufftslil clingman
2021-09-01Inittslil clingman