我写了一个小程序,而只需发现OpenGL如何与SFML:增加摄影机视图距离
#include <SFML/Window.hpp>
#include <SFML/OpenGL.hpp>
#include <SFML/Graphics.hpp>
int main(){
sf::RenderWindow window(sf::VideoMode(700,700),
"OpenGL test", sf::Style::Default);
window.setFramerateLimit(60);
sf::Clock clock;
sf::Time time;
sf::Event event;
float dt;
bool run=true;
glClearColor(50/255.0f, 75/255.0f, 50/255.0f, 1.0f);
glTranslatef(0.0f, 0.0f, 1.0f);
while(run){
while(window.pollEvent(event))
if(event.type==sf::Event::Closed)run=false;
glRotatef(1.0f, 1.0f, 1.0f, -1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_LINE_STRIP);
glVertex3f(-0.5f, -0.5f, 0.0f);
glVertex3f(-0.5f, 0.5f, 0.0f);
glVertex3f(0.5f, 0.5f, 0.0f);
glVertex3f(0.5f, -0.5f, 0.0f);
glVertex3f(-0.5f, -0.5f, 0.0f);
glVertex3f(0.0f, 0.0f, -0.5f);
glVertex3f(0.5f, 0.5f, 0.0f);
glEnd();
window.display();
}
return 0;
}
但是当我运行它,对象的一部分消失:
是有没有办法增加观看距离?
但有没有办法增加opengl的最大尺寸? –
@RoyVaron不是我所知道的。但你可以用数学来表示几乎所有的值范围......你还试过去除glTranslate(...)调用吗? – TinfoilPancakes
@RoyVaron https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glFrustum.xml 或google for glFrustrum – LeDYoM