openGL 深度测试
来源:互联网 发布:2选一数据选择器 编辑:程序博客网 时间:2024/05/22 16:45
// depthTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<glew.h>
#include <glut.h>
#pragma comment(lib, "glew32.lib")
#pragma comment( lib, "glut32.lib ")
#define BUFFER_OFFSET(bytes) ((GLubyte*) NULL + (bytes))
#define VERTICES 0
#define INDICES 1
#define NUM_BUFFERS 2
GLuint buffers[NUM_BUFFERS];
#define FACE_CNT 2
GLuint ids[FACE_CNT] = { 0 };
GLuint framebuffer = 0;
GLuint renderbuffer =0;
int height = 512;
int width = 512;
void changeSize(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (double)w / (double)h, 1, 30);
gluLookAt(0, 0, 5, 0, 0, 0, 0, 1, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//一定得加
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(30.0f, 1.0f, 1.0f, 0.0f);
glBegin(GL_TRIANGLES);
//第一个三角形
glColor3f(0.f, 0.0f, 1.0f); //blue
glVertex3f(1.0f, 0.5f, 0.50f);
glVertex3f(-0.5f, 1.0f, 0.50f);
glVertex3f(-1.0f, -1.0f, 0.50f);
//第二个三角形
glColor3f(1.0f, 0.0f, 0.0f); //red
glVertex3f(1.0f, 1.0f, -0.5f);
glVertex3f(-1.0f, 1.0f, -0.5f);
glVertex3f(-1.0f, -1.0f, -0.5f);
glEnd();
glutSwapBuffers();
}
void init(void)
{
glewInit();
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set background color to black and opaque
//glClearDepth(1.0f); // Set background depth to farthest
glEnable(GL_DEPTH_TEST); // Enable depth testing for z-culling
glDepthFunc(GL_LESS); // Set the type of depth-test
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowSize(width, height);
glutCreateWindow("Buffer Demo");
glutReshapeFunc(changeSize);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
//
#include "stdafx.h"
#include<glew.h>
#include <glut.h>
#pragma comment(lib, "glew32.lib")
#pragma comment( lib, "glut32.lib ")
#define BUFFER_OFFSET(bytes) ((GLubyte*) NULL + (bytes))
#define VERTICES 0
#define INDICES 1
#define NUM_BUFFERS 2
GLuint buffers[NUM_BUFFERS];
#define FACE_CNT 2
GLuint ids[FACE_CNT] = { 0 };
GLuint framebuffer = 0;
GLuint renderbuffer =0;
int height = 512;
int width = 512;
void changeSize(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (double)w / (double)h, 1, 30);
gluLookAt(0, 0, 5, 0, 0, 0, 0, 1, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//一定得加
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(30.0f, 1.0f, 1.0f, 0.0f);
glBegin(GL_TRIANGLES);
//第一个三角形
glColor3f(0.f, 0.0f, 1.0f); //blue
glVertex3f(1.0f, 0.5f, 0.50f);
glVertex3f(-0.5f, 1.0f, 0.50f);
glVertex3f(-1.0f, -1.0f, 0.50f);
//第二个三角形
glColor3f(1.0f, 0.0f, 0.0f); //red
glVertex3f(1.0f, 1.0f, -0.5f);
glVertex3f(-1.0f, 1.0f, -0.5f);
glVertex3f(-1.0f, -1.0f, -0.5f);
glEnd();
glutSwapBuffers();
}
void init(void)
{
glewInit();
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set background color to black and opaque
//glClearDepth(1.0f); // Set background depth to farthest
glEnable(GL_DEPTH_TEST); // Enable depth testing for z-culling
glDepthFunc(GL_LESS); // Set the type of depth-test
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowSize(width, height);
glutCreateWindow("Buffer Demo");
glutReshapeFunc(changeSize);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}
0 0
- openGL 深度格式 深度测试
- openGL 深度测试
- openGL 深度测试
- openGL 深度测试
- openGL 深度测试
- openGL 深度测试
- OpenGL: 深度测试
- opengl深度测试
- openGL 深度测试使用
- openGL 深度测试
- Opengl深度测试
- openGL 深度测试
- openGL 深度测试
- OpenGL深度测试
- openGL 深度测试
- openGL 深度测试
- OpenGL深度测试
- OpenGL 深度测试1
- Android内存泄漏分析及调试
- 循序渐进 SuperMap iDesktop 7C 插件开发
- 如何下载和安装CocoaPods?
- android 如何在自定义对话框中获取edittext中的数据
- iOS Git 返回以前提交的版本
- openGL 深度测试
- 家庭食品包装密实袋的前世今生和未来
- iOS开发--OC篇--OC类与对象
- 函数是第一类值和第二类值与回调函数
- linux中shell变量$#,$@,$0,$1,$2的含义解释:
- freemarker简单用法-给前端
- IOS多线程
- 正则表达式 实战
- springMVC基础版--01基本配置