⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scissor.c

📁 OpeNGL超级宝典源代码. OpeNGL超级宝典源代码.
💻 C
字号:
// Scissor.c// OpenGL SuperBible, 3rd Edition// Richard S. Wright Jr.// rwright@starstonesoftware.com#include "../../Common/OpenGLSB.h"	// System and OpenGL Stuff	///////////////////////////////////////////////////////////// Called to draw scenevoid RenderScene(void)	{        // Clear blue window        glClearColor(0.0f, 0.0f, 1.0f, 0.0f);        glClear(GL_COLOR_BUFFER_BIT);                // Now set scissor to smaller red sub region        glClearColor(1.0f, 0.0f, 0.0f, 0.0f);        glScissor(100, 100, 600, 400);        glEnable(GL_SCISSOR_TEST);        glClear(GL_COLOR_BUFFER_BIT);                // Finally, an even smaller green rectangle        glClearColor(0.0f, 1.0f, 0.0f, 0.0f);        glScissor(200, 200, 400, 200);        glClear(GL_COLOR_BUFFER_BIT);                // Turn scissor back off for next render        glDisable(GL_SCISSOR_TEST);	glutSwapBuffers();	}///////////////////////////////////////////////////////////// Set viewport and projectionvoid ChangeSize(int w, int h)	{	// Prevent a divide by zero	if(h == 0)		h = 1;	// Set Viewport to window dimensions        glViewport(0, 0, w, h);	// Set the perspective coordinate system	glMatrixMode(GL_PROJECTION);	glLoadIdentity();	// Set 2D Coordinate system	gluOrtho2D(-4.0, 4.0, -3.0, 3.0);	// Modelview matrix reset	glMatrixMode(GL_MODELVIEW);	glLoadIdentity();	}///////////////////////////////////////////////////////////// Program entry pointint main(int argc, char* argv[])	{	glutInit(&argc, argv);	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);	glutInitWindowSize(800,600);	glutCreateWindow("OpenGL Scissor");	glutReshapeFunc(ChangeSize);	glutDisplayFunc(RenderScene);	glutMainLoop();	return 0;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -