openGL绘制矩形
2018-02-10 14:35
316 查看
#include "stdafx.h"
#include"windows.h"
#include"gl.h"
#include"glut.h"
//渲染场景
void RenderScene(void)
{
//用当前清除色清除颜色缓冲区,设定窗口背景色
glClear(GL_COLOR_BUFFER_BIT);
//设置当前绘图使用RGB颜色
glColor3f(1.0f, 0.0f, 0.0f);
//使用当前颜色绘制一个填充矩形
glRectf(100.0f, 150.0f, 150.0f, 100.0f);
//刷新openGL命令队列
glFlush();
}
//改变大小
void ChangeSize(GLsizei w, GLsizei h)
{
if (h == 0)
h = 1;
//设置视区大小
glViewport(0, 0, w, h);
//重置坐标系统,使投影变换位置
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//建立修剪空间的范围 修改空间坐标值
if (w < h)
glOrtho(0.0f, 450.0f, 0.0f, 450.0f*h / w, 1.0f, -1.0f);
else
glOrtho(0.0f, 450.0f*h / w, 0.0f, 450.0f, 1.0f, -1.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
//渲染状态
void SetupRC(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}
int _tmain(int argc, _TCHAR* argv[])
{
//初始化GLUT库 OpenGL窗口的显示方式
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//单缓冲窗口|RGB颜色模式
//创建窗口的标题名称
glutCreateWindow("OpenGL绘制矩形");
//设置当前窗口显示回调函数和窗口在整形回调函数
glutDisplayFunc(RenderScene);
glutReshapeFunc(ChangeSize);
//设置渲染状态
SetupRC();
//启动主要的GLUT事件处理循环
glutMainLoop();
return 0;
}
#include"windows.h"
#include"gl.h"
#include"glut.h"
//渲染场景
void RenderScene(void)
{
//用当前清除色清除颜色缓冲区,设定窗口背景色
glClear(GL_COLOR_BUFFER_BIT);
//设置当前绘图使用RGB颜色
glColor3f(1.0f, 0.0f, 0.0f);
//使用当前颜色绘制一个填充矩形
glRectf(100.0f, 150.0f, 150.0f, 100.0f);
//刷新openGL命令队列
glFlush();
}
//改变大小
void ChangeSize(GLsizei w, GLsizei h)
{
if (h == 0)
h = 1;
//设置视区大小
glViewport(0, 0, w, h);
//重置坐标系统,使投影变换位置
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//建立修剪空间的范围 修改空间坐标值
if (w < h)
glOrtho(0.0f, 450.0f, 0.0f, 450.0f*h / w, 1.0f, -1.0f);
else
glOrtho(0.0f, 450.0f*h / w, 0.0f, 450.0f, 1.0f, -1.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
//渲染状态
void SetupRC(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}
int _tmain(int argc, _TCHAR* argv[])
{
//初始化GLUT库 OpenGL窗口的显示方式
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//单缓冲窗口|RGB颜色模式
//创建窗口的标题名称
glutCreateWindow("OpenGL绘制矩形");
//设置当前窗口显示回调函数和窗口在整形回调函数
glutDisplayFunc(RenderScene);
glutReshapeFunc(ChangeSize);
//设置渲染状态
SetupRC();
//启动主要的GLUT事件处理循环
glutMainLoop();
return 0;
}
相关文章推荐
- 1 VS2015,2017+openGL配置和绘制一个白色的矩形
- 用OpenGL实现折线和矩形的橡皮筋绘制技术(可完全脱离鼠标)
- OpenGL(一)二维图形的绘制:一个简单的绘制矩形程序
- openGL绘制移动的矩形
- 在VC中,使用OpenGL绘制一个矩形、三角形、三个点和三条直线,由直线组成新的三角形
- 使用OpenGL绘制一个矩形,并在窗口大小改变时保持它的形状
- opengl学习笔记二之绘制一个矩形
- opengl学习笔记2-2-矩形绘制
- Android OpenGL ES和OpenGL一起学(一)------绘制一个简单的矩形
- opengl之绘制一个矩形
- [OpenGL]用OpenGL图形的绘制--矩形
- OpenGL_1 绘制一个矩形
- Opengl 绘制矩形
- opengl练习之绘制任意大小的矩形
- Android OpenGL ES和OpenGL一起学(一)------绘制一个简单的矩形
- OpenGL鼠标控制绘制矩形
- OpenGL-绘制简单矩形
- OpenGL绘制一个矩形,并在窗口大小改变时保持它的形状
- OpenGL入门示例1——黑色背景绘制绿色矩形
- OpenGL编程(二)绘制矩形