[SFML|OpenGL] sfml renderuje tylko jedną "warstwę" osi z
Ostatnio zmodyfikowano 2017-10-01 14:20
oigi333 Temat założony przez niniejszego użytkownika |
[SFML|OpenGL] sfml renderuje tylko jedną "warstwę" osi z » 2017-09-30 23:19:50 Piszę FPS, okno sfml oraz openGL do grafiki 3d. Po kilku godzinach orientuje się jednak że sfml renderuje tylko jedną warstwę to dla której wartość na osi z wynosi 0. Czemu tak się dzieje? Game.cpp #include "Game.h"
std::string Game::Update( sf::RenderWindow * okno ) { return "GAME"; }
void Game::Draw( sf::RenderWindow * okno ) { glClearColor( 0, 1, 1, 0 ); glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); engine.Draw( okno ); }
Game::Game() { }
Game::~Game() { }
Engine.cpp DlsE::Engine::Engine() { quad = Quad( Vector3x3 < float >( sf::Vector3f( 200 - 200, 200 - 200, 50 ), sf::Vector3f( 200 + 200, 200 - 200, 50 ), sf::Vector3f( 200 - 200, 200 + 200, - 50 ), sf::Vector3f( 200 + 200, 200 + 200, - 50 ) ) ); }
DlsE::Engine::~Engine() { }
void DlsE::Engine::Draw( sf::RenderWindow * okno ) { okno->popGLStates(); glColor3f( 1, 0, 0 ); quad.Draw(); glFlush(); okno->pushGLStates(); }
Quad.cpp Quad::Quad() { }
DlsE::Quad::Quad( Vector3x3 < float > p ) : p( p ) { }
Quad::~Quad() { }
void DlsE::Quad::Draw() { glBegin( GL_TRIANGLES ); glVertex3f( p.topLeft.x, p.topLeft.y, p.topLeft.z ); glVertex3f( p.topRight.x, p.topRight.y, p.topRight.z ); glVertex3f( p.bottomRight.x, p.bottomRight.y, p.bottomRight.z ); glVertex3f( p.topLeft.x, p.topLeft.y, p.topLeft.z ); glVertex3f( p.bottomRight.x, p.bottomRight.y, p.bottomRight.z ); glVertex3f( p.bottomLeft.x, p.bottomLeft.y, p.bottomLeft.z ); glEnd(); }
void DlsE::Quad::RotateByDeg( float x, float y, float z, sf::Vector3f context ) { p = RotateX( x * PI / 180.f, p, context ); p = RotateY( y * PI / 180.f, p, context ); p = RotateZ( z * PI / 180.f, p, context ); }
sf::Vector3f DlsE::Quad::MakeCenterContext() { return sf::Vector3f( ( p.bottomLeft.x + p.bottomRight.x + p.topLeft.x + p.topRight.x ) / 4, ( p.bottomLeft.y + p.bottomRight.y + p.topLeft.y + p.topRight.y ) / 4, ( p.bottomLeft.z + p.bottomRight.z + p.topLeft.z + p.topRight.z ) / 4 ); }
screenshot |
|
1aam2am1 |
» 2017-10-01 14:20:41 |
|
« 1 » |