zoukankan      html  css  js  c++  java
  • OPENGL3_基本图元

    类型 说明
    GL_POINTS 单个顶点集
    GL_LINES 多组双顶点线段
    GL_POLYGON 单个简单填充凸多边形
    GL_TRAINGLES 多组独立填充三角形
    GL_QUADS 多组独立填充四边形
    GL_LINE_STRIP 不闭合折线
    GL_LINE_LOOP 闭合折线
    GL_TRAINGLE_STRIP 线型连续填充三角形串
    GL_TRAINGLE_FAN 扇形连续填充三角形串
    GL_QUAD_STRIP 连续填充四边形串

                      几何图元类型说


    代码效果


    代码

    int DrawGLScene(GLvoid)									// Here's Where We Do All The Drawing
    {
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	// Clear Screen And Depth Buffer
    	glLoadIdentity();									// Reset The Current Modelview Matrix
    	
    	//移动是相对当前位置移动(第一次移动相对与屏幕中心0,0,0下一次再移动时相对的就是本次移动后的位置了)
    	//向屏幕内移动18.9个单位,这样1个单位(1米)对应480/(2*tan(22.5)*(18.9+0.1)= 30像素
    	glTranslatef(0.0f,0.0f,-18.9f);
    
    	// 绘制不连续线段,把屏幕分成9部分
    	glBegin(GL_LINES);								
    	// 横线
    	glVertex3f( -21.0f, 3.0f, 0.0f);					
    	glVertex3f(21.0f, 3.0f, 0.0f);				
    	glVertex3f( -21.0f, -3.0f, 0.0f);
    	glVertex3f( 21.0f, -3.0f, 0.0f);
    	// 竖线
    	glVertex3f( -3.0f, 8.0f, 0.0f);					
    	glVertex3f(-3.0f, -8.0f, 0.0f);				
    	glVertex3f( 3.0f, 8.0f, 0.0f);
    	glVertex3f( 3.0f, -8.0f, 0.0f);
    	glEnd();
    
    	
    	// 绘制点
    	glBegin(GL_POINTS);
    	glColor3f(1.0f,0.0f,0.0f);// 设置当前色为红色
    	glVertex3f( -8.0f, 5.5f, 0.0f);
    	glVertex3f( -7.5f, 5.5f, 0.0f);
    	glVertex3f( -7.0f, 5.5f, 0.0f);
    	glEnd();
    
    	// 绘制不闭合折线
    	glBegin(GL_LINE_STRIP);
    	glColor3f(1.0f,1.0f,0.0f);// 设置当前色为黄色
    	glVertex3f( -2.0f, 5.5f, 0.0f);
    	glVertex3f( 2.0f, 5.5f, 0.0f);
    	glVertex3f( -2.0f, 4.0f, 0.0f);
    	glVertex3f( 2.0f, 4.0f, 0.0f);
    	glEnd();
    
    	// 绘制闭合折线
    	glBegin(GL_LINE_LOOP);
    	glColor3f(0.0f,0.0f,1.0f);// 设置当前色为蓝色
    	glVertex3f( 6.0f, 6.0f, 0.0f);
    	glVertex3f( 4.0f, 4.0f, 0.0f);
    	glVertex3f( 8.0f, 4.0f, 0.0f);
    	glEnd();
    
    	// 绘制多组独立填充三角形(以下绘制2个三角形)
    	glBegin(GL_TRIANGLES);
    	glColor3f(1.0f,0.0f,0.0f);// 设置当前色为红色
    	glVertex3f( -9.0f, 1.0f, 0.0f);
    	glVertex3f(-8.0f,-1.0f, 0.0f);
    	glVertex3f( -10.0f,-1.0f, 0.0f);
    
    	glVertex3f( -6.0f, 1.0f, 0.0f);
    	glVertex3f(-5.0f,-1.0f, 0.0f);
    	glVertex3f( -7.0f,-1.0f, 0.0f);
    	glEnd();
    
    	// 绘制三角形带
    	glBegin(GL_TRIANGLE_STRIP);//(以下绘制3个连续三角形)
    	
    
    
    	//第一个三角形由点123逆时针构成
    	//第二个三角形由点324逆时针构成
    	//第三个三角形由点345逆时针构成
    
    	glColor3f(1.0f,0.0f,0.0f);// 设置当前色为红色
    	glVertex3f( -2.0f,-1.0f, 0.0f);//点1
    	glVertex3f(0.0f,-1.0f, 0.0f);//点2
    	glVertex3f( -1.0f, 1.0f, 0.0f);//点3
    	glColor3f(0.0f,1.0f,0.0f);// 设置当前色为绿色
    	glVertex3f( 1.0f,1.0f, 0.0f);//点4
    	glColor3f(0.0f,0.0f,1.0f);// 设置当前色为蓝色
    	glVertex3f(2.5f,2.5f, 0.0f);//点5
    	
    	glEnd();
    
    	
    	
    
    	return TRUE;										// Everything Went OK
    }



  • 相关阅读:
    ubuntu的apt
    sudo命令
    MySQL导出数据到csv文件
    MySQL导出数据到文件报错
    git_backup.py gitlab项目备份
    java中图像与数组转换
    mongodb转elasticsearch
    impyla-0.14.2.2安装注意事项
    python3.7.3升级 with-openssl openssl-1.0.2a
    hadoop自带性能测试
  • 原文地址:https://www.cnblogs.com/nafio/p/9137610.html
Copyright © 2011-2022 走看看