| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-12-28 | Allocgatepolygon_walls | tslil clingman | |
| 2021-10-30 | Switched to tracking zig-sfml-wrapper as submodule | tslil clingman | |
| 2021-10-27 | Update SFML wrapper | tslil clingman | |
| 2021-10-25 | Mouse look! | tslil clingman | |
| 2021-10-25 | Corrected bug in colour blending, chose black instead of transparent | tslil clingman | |
| 2021-10-22 | Specialise layers to be either lists of vertices or squares | tslil clingman | |
| 2021-10-19 | Fix literal corner case | tslil clingman | |
| 2021-10-18 | Working on correct verts then horizs then... ordering and edge cases | tslil clingman | |
| 2021-10-17 | Sprinkling the magic of FOV_SCALE from the camera matrix ... works? | tslil clingman | |
| What is going on here? Indeed this eliminated another rendering issue. | |||
| 2021-10-17 | Additional bug fix | tslil clingman | |
| Essentially highest_drawn should be monotonic between squares, the only time we should allow ourselves to draw below this is in the special case of drawing a vertical portion over the horizontal portion of a previous layer in the same square. | |||
| 2021-10-17 | A stray -1. Next issue: horizontal doesn't meet vertical on barrels? | tslil clingman | |
| 2021-10-17 | Still z_buffer issues, what is happening | tslil clingman | |
| 2021-10-17 | Well, it's not quite right, but this is the general direction | tslil clingman | |
| 2021-10-17 | Texture scaling | tslil clingman | |
| 2021-10-15 | Well, there's no reason not to do this ... Multiple polygon layers! | tslil clingman | |
| 2021-10-15 | Minor tweak | tslil clingman | |
| 2021-10-14 | Texture mapping! | tslil clingman | |
| We already calculate almost everything we need if we want to map textures per line segment v[i]->v[i+1] for v the list of vertices per cell. | |||
| 2021-10-13 | Polygonal walls! | tslil clingman | |
| It was essentially working before, just some indexing bug. | |||
| 2021-10-12 | It almost works, but for some reason everything only has 3 sides...? | tslil clingman | |
| 2021-10-12 | Merge branch 'main' into polygon_walls | tslil clingman | |
| 2021-10-12 | More texture bugs, hoorahHEADmain | tslil clingman | |
| Might as well also compute texel_y directly like texel_x for objects and skip a multiplication in favour of addition | |||
| 2021-10-12 | No need to recalculate the index inside each loop | tslil clingman | |
| Here's hoping Zig is smart enough (TM) to constant-ify all of these @floatToInt(type, PlaneXXX) values. | |||
| 2021-10-11 | Fix many texture bugs, access memory in increasing order everywhere | tslil clingman | |
| - switch z_buffer to use screen space coordinates (why does y increase downward!) - extract pointless (re)calculations from inside hot loops, in particular from object drawing but also to the extent allowed by applicable law from floor and ceiling drawing | |||
| 2021-10-10 | Untested first mock up of polygon intersection in square | tslil clingman | |
| 2021-10-10 | Refactor: extract rendering code from Player struct into Renderer | tslil clingman | |
| Some bonus off by ones and rounding corrections | |||
| 2021-10-10 | Off by ones! | tslil clingman | |
| 2021-10-08 | Fixed some artefacts for walls with both lower and upper parts | tslil clingman | |
| I can't quite explain it, but something about the way floating point numbers round meant that we weren't calculating consistent distances (in pixels) for the length of the strip between the top of the floor and the bottom of the ceiling in cells which had both. | |||
| 2021-10-07 | Variable height ceilings! | tslil clingman | |
| Plus bonus graphical artefacts around the edges of such! In the end the majority of this code was rather easy: take the upwards floor drawing code and reflect it. However, there were many edge-cases and plenty of off-by-one pixels and rounding issues that didn't quite work the same way going down as they do going up. Also the object drawing code used to take advantage of the fact that the z-buffer was painted bottom-up only, so that required change too. | |||
| 2021-09-29 | Better description | tslil clingman | |
| 2021-09-26 | remap controls | tslil clingman | |
| 2021-09-26 | Of course i didn't need i32 ... | tslil clingman | |
| 2021-09-22 | There was really no reason to use a BoundedArray instead of an array | tslil clingman | |
| 2021-09-22 | Switch to more accurate version | tslil clingman | |
| Pre-emptive micro-optimisation is bad. There aren't that many sprites pixels usually anyway. | |||
| 2021-09-22 | Colour blending | tslil 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-20 | Render objects by writing pixels | tslil 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-20 | Corrected rendering bug | tslil clingman | |
| 2021-09-20 | Render walls by pixels, instead of using hard. accel. sprites | tslil clingman | |
| 2021-09-16 | Corrected movement | tslil clingman | |
| 2021-09-12 | Walk bob and collision detection | tslil clingman | |
| 2021-09-12 | Rendering bug | tslil clingman | |
| 2021-09-12 | More 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-11 | Render tops of low walls! | tslil clingman | |
| But it's very inefficient right now | |||
| 2021-09-10 | Re-organised code, moved all rendering into raycast.zig | tslil clingman | |
| 2021-09-10 | Textures repeat rather than scale? | tslil clingman | |
| 2021-09-09 | Don't override the skycylinder! | tslil clingman | |
| 2021-09-09 | Added ceilings and pos_z to sprites (they can now be on the ceiling) | tslil clingman | |
| 2021-09-06 | Only attempt to render cells with h > 0 | tslil clingman | |
| 2021-09-05 | In response to issue #9629, correct usingnamespace usage | tslil clingman | |
| 2021-09-05 | Changed map scaling, texture indexing, finished object rendering! | tslil clingman | |
| 2021-09-05 | I 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. | |||
