Pick back up and comment
Clean placeholder code to get it running. Add comments to clarify working, add TODOs in main, add some references for the maths.
This commit is contained in:
parent
59939d182b
commit
c7384ba9ba
3 changed files with 34 additions and 4 deletions
18
World.cpp
18
World.cpp
|
@ -94,11 +94,15 @@ void World::fillColumn(sf::RenderWindow& window, int column, float scale, sf::Co
|
|||
|
||||
float World::castRay(float originX, float originY, float orientation)
|
||||
{
|
||||
/*
|
||||
* Reference used for ray intersection computations :
|
||||
* https://web.archive.org/web/20220628034315/https://yunes.informatique.univ-paris-diderot.fr/wp-content/uploads/cours/INFOGRAPHIE/08-Raycasting.pdf
|
||||
*/
|
||||
float deltaX;
|
||||
float deltaY;
|
||||
if(orientation < 45 || orientation > 315)
|
||||
{
|
||||
deltaX = ;
|
||||
|
||||
}
|
||||
else if(orientation < 135)
|
||||
{
|
||||
|
@ -113,11 +117,16 @@ float World::castRay(float originX, float originY, float orientation)
|
|||
|
||||
}
|
||||
|
||||
return();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void World::render(sf::RenderWindow& window) const
|
||||
{
|
||||
/*
|
||||
* Draw ground and sky planes through half of the screen, as the walls
|
||||
* will get drawn over them.
|
||||
* This doesn't work if we support textures/levels.
|
||||
*/
|
||||
sf::RectangleShape ground = sf::RectangleShape(sf::Vector2f(window.getSize().x,window.getSize().y/2.0));
|
||||
ground.setFillColor(groundColor);
|
||||
ground.setPosition(0,window.getSize().y/2.0);
|
||||
|
@ -128,10 +137,13 @@ void World::render(sf::RenderWindow& window) const
|
|||
window.draw(ground);
|
||||
window.draw(ceiling);
|
||||
|
||||
/*
|
||||
* Throw rays and draw walls over the ceiling and ground.
|
||||
* Only throws in the plane, which doesn't work for levels/3D.
|
||||
*/
|
||||
for(int i = 0;i<window.getSize().x;i++)
|
||||
{
|
||||
fillColumn(window, i, 0.5);
|
||||
std::cout << i << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue