资源简介
浙大图形学作业,z-buffer扫描线算法,obj文件导入
代码片段和文件信息
// z_buffer.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include
#include
using namespace std;
scanning_zbuffer myzbuffer;
static int g_mousePos_x = 0 g_mousePos_y = 0 g_tmpX g_tmpY;
bool g_rotate = false;
GLfloat pixel[winX][3];
int tag;
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
//int tag=0;
for(int y=winY-1;y>=0;y--)
{
if(y==536)
y=536;
myzbuffer.initBuffer();
myzbuffer.addPolTable(y);
tag=myzbuffer.getActPolNum();
if(myzbuffer.getActPolNum())
{
myzbuffer.updateActSideTable(y);
//tag++;
}
//pixel=myzbuffer.m_color_buffer;
//glRasterPos2i(-winX/2-winY/2+y);
//if(tag>5)break;
glRasterPos2i(0y);
glDrawPixels(winX1GL_RGBGL_FLOAT&myzbuffer.m_color_buffer[0][0]);
}
glFlush();
//glRasterPos2i(winX/22);
//glDrawPixels(winX1GL_RGBGL_FLOAT&pixel[0][0]);
glutSwapBuffers();
}
void init()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0(GLfloat)winX0.0(GLfloat)winY);
glMatrixMode(GL_MODELVIEW);
//myzbuffer.coordUpdate();//顶点坐标值最终转换为int
myzbuffer.CreateClassTable();
}
void reshape(int wint h)
{
//winX=w;
//winY=h;
glViewport(0 0 (GLsizei) w (GLsizei) h);
}
void keyboard(unsigned char key int x int y)
{
switch (key)
{
case ‘\033‘:
{
exit(0);
break;
}
default:
{
myzbuffer.coordUpdate(key);
myzbuffer.clearAll();
myzbuffer.CreateClassTable();
glutPostRedisplay();
break;
}
}
}
void mouse(int button int state int x int y)
{
switch(button)
{
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN)
{
printf(“%d %d\n“xwinY-y);
}
break;
}
}
int main()
{
//glutInit(&argcargv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(winXwinY);
glutInitWindowPosition(200200);
glutCreateWindow(“Scanning z-buffer Algorithm“);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 331776 2011-08-26 17:19 z_buffer\GL\bin\glew32.dll
文件 853373 2011-08-25 09:17 z_buffer\GL\include\glew.h
文件 64328 2011-08-25 09:17 z_buffer\GL\include\glxew.h
文件 60766 2011-08-25 09:17 z_buffer\GL\include\wglew.h
文件 511866 2011-08-26 17:19 z_buffer\GL\lib\glew32.lib
文件 3466 2011-08-26 17:22 z_buffer\GL\lib\glew32mx.lib
文件 982220 2011-08-26 17:21 z_buffer\GL\lib\glew32mxs.lib
文件 1288450 2011-08-26 17:19 z_buffer\GL\lib\glew32s.lib
文件 2182 2012-02-09 10:46 z_buffer\main.cpp
文件 1434 2012-01-16 14:36 z_buffer\Main.h
文件 10307 2012-02-07 11:56 z_buffer\obj.cpp
文件 1470 2011-11-23 18:27 z_buffer\obj.h
文件 260 2012-02-27 11:12 z_buffer\Release\teapot.mtl
文件 65882 2012-02-27 11:12 z_buffer\Release\teapot.obj
文件 37888 2012-02-27 11:15 z_buffer\Release\z_buffer.exe
文件 295 2012-01-12 11:23 z_buffer\stdafx.cpp
文件 468 2012-02-27 13:27 z_buffer\stdafx.h
文件 260 2012-02-27 11:12 z_buffer\teapot.mtl
文件 65882 2012-02-27 11:12 z_buffer\teapot.obj
文件 1964 2012-02-27 13:24 z_buffer\z-buffer.h
文件 10874 2012-02-27 11:11 z_buffer\z_buffer.cpp
文件 881 2012-02-27 13:26 z_buffer\z_buffer.sln
..A..H. 34816 2012-02-27 13:33 z_buffer\z_buffer.suo
文件 4914 2012-02-27 13:24 z_buffer\z_buffer.vcproj
文件 1409 2012-02-27 13:33 z_buffer\z_buffer.vcproj.cad-PC.cad.user
文件 10405 2012-02-09 10:58 z_buffer\z_buffer1.cpp
文件 815 2012-02-27 13:22 说明文档.txt
目录 0 2012-01-12 11:29 z_buffer\GL\bin
目录 0 2012-01-12 11:27 z_buffer\GL\include
目录 0 2012-01-12 12:24 z_buffer\GL\lib
............此处省略6个文件信息
- 上一篇:ERP沙盘秘籍 让你经营更合理
- 下一篇:最小误差法阈值分割
评论
共有 条评论