mirror of
https://git.coom.tech/drummyfish/raycastlib.git
synced 2024-12-26 01:56:19 +01:00
Expand comments
This commit is contained in:
parent
9421155671
commit
d04750a068
1 changed files with 35 additions and 0 deletions
35
raycastlib.h
35
raycastlib.h
|
@ -290,6 +290,16 @@ void castRaysMultiHit(Camera cam, ArrayFunction arrayFunc,
|
|||
|
||||
This function should render each screen pixel exactly once.
|
||||
|
||||
function rendering summary:
|
||||
- performance: slower
|
||||
- accuracy: higher
|
||||
- wall textures: yes
|
||||
- different wall heights: yes
|
||||
- floor/ceiling textures: no
|
||||
- floor geometry: yes, multilevel
|
||||
- ceiling geometry: yes (optional), multilevel
|
||||
- rolling door: no
|
||||
|
||||
@param cam camera whose view to render
|
||||
@param floorHeightFunc function that returns floor height (in Units)
|
||||
@param ceilingHeightFunc same as floorHeightFunc but for ceiling, can also be
|
||||
|
@ -310,6 +320,16 @@ void render(Camera cam, ArrayFunction floorHeightFunc,
|
|||
accurate results than this function, so it's to be considered even for simple
|
||||
scenes.
|
||||
|
||||
function rendering summary:
|
||||
- performance: faster
|
||||
- accuracy: lower
|
||||
- wall textures: yes
|
||||
- different wall heights: yes
|
||||
- floor/ceiling textures: no
|
||||
- floor geometry: no (just flat floor, with depth information)
|
||||
- ceiling geometry: no (just flat ceiling, with depth information)
|
||||
- rolling door: yes
|
||||
|
||||
Additionally this function supports rendering rolling doors.
|
||||
|
||||
This function should render each screen pixel exactly once.
|
||||
|
@ -1224,8 +1244,23 @@ Unit coordStep = 1;
|
|||
p.isWall = 0;
|
||||
p.depth = (_camera.resolution.y - y) * _horizontalDepthStep + 1;
|
||||
|
||||
/* WIP: floor textures
|
||||
Unit dx = p.hit.position.x - _camera.position.x;
|
||||
Unit dy = p.hit.position.y - _camera.position.y;
|
||||
Unit pixPos = y - _middleRow;
|
||||
*/
|
||||
|
||||
while (y < _camera.resolution.y)
|
||||
{
|
||||
/* WIP: floor textures
|
||||
Unit d = perspectiveScaleInverse(_camera.height,pixPos);
|
||||
d = (d * UNITS_PER_SQUARE) /
|
||||
vectorsAngleCos(angleToDirection(_camera.direction),ray.direction);
|
||||
p.texCoords.x = _camera.position.x + ((d * dx) / p.hit.distance) / 32;
|
||||
p.texCoords.y = _camera.position.y + ((d * dy) / p.hit.distance) / 32;
|
||||
pixPos++;
|
||||
*/
|
||||
|
||||
p.position.y = y;
|
||||
PIXEL_FUNCTION(&p);
|
||||
++y;
|
||||
|
|
Loading…
Reference in a new issue