다음과 같은 결과가 나오는 이유는 다음과 같습니다. GLFW 창이 너무 느린 이유는 무엇입니까?
각 프레임을 렌더링하는 데 왜 두 번째 또는 두 시간이 걸리는 지 알 수 없습니다. 코드가 정상적인 것 같지만 왜 그렇게 천천히 렌더링하는지 모르겠습니다.
#define GLFW_INCLUDE_GLU
#define GLEW_STATIC
#include"GL/glew.c"
#include"GLFW/glfw3.h"
#include<cmath>
#include<ctime>
#include<stdlib.h>
using namespace std;
int main() {
// init glfw
if (!glfwInit()) return 0;
// create window and set active context
GLFWwindow* window = glfwCreateWindow(640, 480, "Test", NULL, NULL);
glfwMakeContextCurrent(window);
// init glew
if (glewInit() != GLEW_OK) return 0;
// set swap interval
glfwSwapInterval(1);
// render loop
while (!glfwWindowShouldClose(window)) {
srand(time(NULL));
float r = (rand() % 100)/100.0;
float ratio;
int width, height;
glfwGetFramebufferSize(window, &width, &height);
ratio = width/(float) height;
glViewport(0, 0, width, height);
// render
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(r, 0, 0, 1);
// swap
glfwSwapBuffers(window);
// events
glfwPollEvents();
}
// terminate glfw
glfwTerminate();
return 0;
}
도움을 주셔서 대단히 감사합니다. – cj1094
'rand'와 함께 모듈러스를 사용하는 것에 대해서는'r = (rand() % 100) /100.0;과'r = (rand() % 256) /255.0;'의 차이점을 고려하십시오. 'rand()'가 1, 101, 201의 값을 반환하면'r'은 어떻게됩니까? 두 경우를 비교하십시오. 2가 아닌 수를 모듈로 지정하면 일부 출력이 다른 출력보다 2-3 배 자주 표시됩니다. 숫자가 등분 할 경우 매우 혼란 스러울 수 있습니다. – Damon