raycasting icon indicating copy to clipboard operation
raycasting copied to clipboard

Streaming Task List

Open lefticus opened this issue 2 years ago • 4 comments

  • [x] Show currently fixed fisheye
  • [x] Explain planar vs cylindrical projection
  • [x] Explain correction of fisheye
  • [x] Enable feature to toggle planar vs cylinder fisheye on / off so we can see the impact
  • [x] Attempt better aspect ratio / FOV settings https://github.com/lefticus/raycasting/commit/8dbcf7871e61541f877f4cf8edb9841d26fca3f0#r99863042
  • [x] Add tests
    • [x] focus on conversions between things
    • [x] focus on perfect right angles
    • [x] find and fix issues with intersection of perpendicular values
  • [x] move to segment intersection formula
  • [x] remove all Line references, they will no longer be needed
  • [x] document current compass coordinate system and consider moving to polar coordinates
  • [x] discuss existing optimizations
  • [x] re-add optimization for bounding boxes in segment intersection?
  • [ ] split out renderer so we can target more than one way of drawing
  • [x] add a minimap option
  • [x] add camera in minimap option
  • [ ] add proper timing loop
  • [ ] stabilize texture for walls and properly draw texture with perspective and such
  • [ ] add walls with windows
  • [ ] add map actions
  • [ ] add map objects
  • [ ] add ability to load map from disk
  • [ ] port to C++

lefticus avatar Feb 08 '23 21:02 lefticus

I have a PR to fix the perpendicular intersection bug using a Segment intersection test rather than relying on the Line slope intersection.

See: https://github.com/lefticus/raycasting/pull/6/files

Feel free to use as much or as little on stream as you'd like.

kolbyb avatar Feb 10 '23 20:02 kolbyb

@kolbyb you're 100% correct that I should move to segment intersection tests instead. Particularly after I spent today tracking down the existing bugs. I'm going to take a slightly different approach than you, I think.

lefticus avatar Feb 13 '23 19:02 lefticus

@lefticus - I ported my Cppyy branch back to Python. I highly suspect you won't be interested in taking any of the changes however, you might be interested in how I structured the code into modules. Perhaps it could be of use if you wanted to restructure the code in any way.

You can check out the commit here: https://github.com/kolbyb/raycasting/commit/7d2efc73de46bf2620bb0bebdeb116786e83d370

kolbyb avatar Feb 22 '23 20:02 kolbyb

@lefticus - I ported my Cppyy branch back to Python. I highly suspect you won't be interested in taking any of the changes however, you might be interested in how I structured the code into modules. Perhaps it could be of use if you wanted to restructure the code in any way.

You can check out the commit here: kolbyb@7d2efc7

I do plan to eventually port all of this to C++, and it would be interesting to keep it in such a way that it can be used as C++/Cppyy/Python/whatever

lefticus avatar Feb 23 '23 01:02 lefticus