C++ 网格未显示(全部为黑色)

C++ 网格未显示(全部为黑色),c++,c++11,opengl,visual-c++,opengl-compat,C++,C++11,Opengl,Visual C++,Opengl Compat,我不想回到昨天的同一个问题,但是在我能够使用该功能打开和关闭网格之前,我首先需要知道我的网格是否真的在工作,我整晚都在做新项目,试图显示网格,但它没有显示,屏幕总是黑色的,什么都没有 #include "include\freeglut.h" // OpenGL toolkit - in the local shared folder #include <iostream> //set up some constants #define X_CENTRE 0

我不想回到昨天的同一个问题,但是在我能够使用该功能打开和关闭网格之前,我首先需要知道我的网格是否真的在工作,我整晚都在做新项目,试图显示网格,但它没有显示,屏幕总是黑色的,什么都没有

#include "include\freeglut.h"   // OpenGL toolkit - in the local shared folder
#include <iostream>

//set up some constants
#define X_CENTRE 0.0      /* centre point of square */
#define Y_CENTRE 0.0
#define LENGTH   1.0      /* lengths of sides of square */

GLfloat red = 1.0, green = 1.0, blue = 1.0;
int w;
int h;

/* reshape callback function
executed when window is moved or resized */
void reshape(int width, int height)
{
glViewport(0, 0, width, height);
/* uses orthographic (parallel) projection
use xmin = -1, xmax = 1
ymin = -1, ymax = 1
znear = -1, zfar = 1 - not relevant here (2D) */
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
}


/* display callback function
called whenever contents of window need to be re-displayed */
//this is the all important drawing method - all drawing code goes in here
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);   /* clear window */
//glColor3f(red, green, blue);        /* white drawing objects */
glColor3f(0.8, 0.8, 0.8);

GLint i;

glEnable(GL_LINE_STIPPLE); //Activates the line-style feature

glLineStipple(1, 0xAAAA);  // Plots a dashed polyline

glBegin(GL_LINES);
for (i = 2; i <= 9; i++)
{
    glVertex3f(i * 0.1 * w, 0.0, 0.0);
    glVertex3f(i * 0.1 * w, 0.9 * h, 0.0);
}

for (i = 1; i <= 9; i++)
{
    glVertex3f(0.1 * w, i * 0.1 * h, 0.0);
    glVertex3f(w, i * 0.1 * h, 0.0);
}
glEnd();
glDisable(GL_LINE_STIPPLE);

glFlush();     /* execute drawing commands in buffer */
}

/* graphics initialisation */
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);   /* window will be cleared to black */
}

//rename this to main(...) and change example 2 to run this main function
int main(int argc, char** argv)
{
/* window management code ... */
/* initialises GLUT and processes any command line arguments */
glutInit(&argc, argv);
/* use single-buffered window and RGBA colour model */
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
/* window width = 400 pixels, height = 400 pixels */
glutInitWindowSize(400, 400);
/* window upper left corner at (100, 100) */
glutInitWindowPosition(100, 100);
/* creates an OpenGL window with command argument in its title bar */
glutCreateWindow("Example 1");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);

glutMainLoop();
return 0;
}
#在本地共享文件夹中包含“include\freeglut.h”//openglutoolkit
#包括
//设置一些常量
#定义X_中心0.0/*正方形的中心点*/
#定义Y_中心0.0
#定义长度1.0/*正方形边的长度*/
GLfloat红色=1.0,绿色=1.0,蓝色=1.0;
int w;
int-h;
/*重塑回调函数
在移动或调整窗口大小时执行*/
空洞重塑(整型宽度、整型高度)
{
glViewport(0,0,宽度,高度);
/*使用正交(平行)投影
使用xmin=-1,xmax=1
ymin=-1,ymax=1
znear=-1,zfar=1-此处不相关(2D)*/
格洛托(-1.0,1.0,-1.0,1.0,-1.0,1.0);
}
/*显示回调函数
每当需要重新显示窗口内容时调用*/
//这是非常重要的绘图方法-所有绘图代码都在这里
作废显示(作废)
{
glClear(GL_颜色_缓冲区_位);/*清除窗口*/
//glColor3f(红、绿、蓝);/*白色图形对象*/
GL3F(0.8,0.8,0.8);
闪烁i;
glEnable(GL_LINE_Stiple);//激活线条样式功能
glLineStipple(1,0xAAAA);//绘制虚线多段线
glBegin(GL_行);

对于(i=2;i变量
w
h
a,未重新初始化。通过1初始化变量:

intw=1;
int h=1;

但是,如果要在窗口空间中设置顶点坐标,则必须更改正交投影。投影矩阵定义相对于投影到视口上的观察者(查看器)的区域(体积)。在正交投影中,此区域(体积)由6个距离定义(左、右、下、上、近、远)到观看者的位置

glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0);

glOrtho(0.0,(浮点数)w,(浮点数)h,0.0,-1.0,1.0);
功能
重塑

void重塑(整数宽度、整数高度)
{
glViewport(0,0,宽度,高度);
/*使用正交(平行)投影
使用xmin=-1,xmax=1
ymin=-1,ymax=1
znear=-1,zfar=1-此处不相关(2D)*/#
w=宽度;
h=高度;
glMatrixMode(GL_投影);
格洛托(0.0,(浮动)w,(浮动)h,0.0,-1.0,1.0);
glMatrixMode(GLU模型视图);
}

变量
w
h
a未初始化。通过1初始化变量:

intw=1;
int h=1;

但是,如果要在窗口空间中设置顶点坐标,则必须更改正交投影。投影矩阵定义相对于投影到视口上的观察者(查看器)的区域(体积)。在正交投影中,此区域(体积)由6个距离定义(左、右、下、上、近、远)到观看者的位置

glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0);

glOrtho(0.0,(浮点数)w,(浮点数)h,0.0,-1.0,1.0);
功能
重塑

void重塑(整数宽度、整数高度)
{
glViewport(0,0,宽度,高度);
/*使用正交(平行)投影
使用xmin=-1,xmax=1
ymin=-1,ymax=1
znear=-1,zfar=1-此处不相关(2D)*/#
w=宽度;
h=高度;
glMatrixMode(GL_投影);
格洛托(0.0,(浮动)w,(浮动)h,0.0,-1.0,1.0);
glMatrixMode(GLU模型视图);
}