Previous journal: | Next journal: |
---|---|
0071-2023-05-01.md | 0073-2023-05-03.md |
- Map grid boundary glitch fixed: I was incorrectly assuming
rayDir>0
would lead topartial
being in the range[0,1)
but it's actually(0,1]
, i.e. it needs to be able to reach 1.0 but I didn't provide enough bits to allow a1.0-0.0
result of1.0
. - Quantified movement speed; 3 different options, but only the middle "walk" speed is used for now.
- Sim:
- Can't get the design to work properly on DE0-Nano. Is it a timing issue or synthesis difference? Maybe need to find out what simulation/verification tools we can use with Quartus.
lzc
could be an issue for Quartus; huge series ofif()
statements might perform badly compared tocasez
. I've decreased the bit depth from 32 (Q16.16) to 24 (Q12.12) so I would expect it to improve overall. Maybe try going back up to Q16.16, and otherwise try a git-bisect.
- Need to see how lower FP precision goes when we bring in rotations of the camera. In that case, stepping the viewplane might not go so well, or might not need to be a clean /512 or /1024 step.
- Put FPS counter in sim main window.
- Add option for basic text that the design can render.
- Create a model for loading the initial state of the "game" into the design, e.g. player position and direction, movement speed, and maybe more dynamic parameters later. Can we make it asynchronous? Should we make the "host" do it following a frame "tick"?