OpenGL 自制API 2

多边形:

  逆时针方向为正面,反之亦然。

  1、glPolygonMode(GL_FRONT, GL_FILL);                        // 设置正面为填充方式

  2、glPolygonMode(GL_BACK, GL_LINE);                          // 设置反面为边缘绘制方式  

  3、glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); // 设置两面均为顶点绘制方式

  4、glFrontFace(GL_CCW); // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针

  5、glFrontFace(GL_CW);    // 设置CW方向为“正面”,CW即ClockWise,顺时针  6、glEnable(GL_CULL_FACE);来启动剔除功能(使用glDisable(GL_CULL_FACE)可以关闭之       然后,使用        glCullFace来进行剔除。

   glCullFace的参数可以是GL_FRONT,GL_BACK或者GL_FRONT_AND_BACK,分别表示剔除正面、剔除反面、剔除正反两面的多边形。

  6、 直线可以被画成虚线,而多边形则可以进行镂空。

  首先,使用glEnable(GL_POLYGON_STIPPLE);来启动镂空模式(使用glDisable(GL_POLYGON_STIPPLE)可以关闭之)。

  然后,使用glPolygonStipple来设置镂空的样式。

时间: 2024-08-02 13:03:11

OpenGL 自制API 2的相关文章

OpenGL 自制API gluPerspective

函数原型gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar) 首先得设置gluPerspective,来看看它的参数都表示什么意思fovy,这个最难理解,我的理解是,眼睛睁开的角度,即,视角的大小,如果设置为0,相当你闭上眼睛了,所以什么也看不到,如果为180,那么可以认为你的视界很广阔,aspect,这个好理解,就是实际窗口的纵横比,即x/yzNear,这个呢,表示你近处,的裁面,zFar表示远处的

OpenGL 自制API 4

1.  由于模型和视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”.设置的方法是以GL_MODELVIEW为参数调用glMatrixMode函数,像这样: glMatrixMode(GL_MODELVIEW); 2.通常,我们需要在进行变换前把当前矩阵设置为单位矩阵.这也只需要一行代码: glLoadIdentity(); 3.glTranslate*,把当前矩阵和一个表示移动物体的矩阵相乘.三个参数分别表示了在三个坐标上的位移值. 4.glRotate*,

OpenGL 自制API 3

颜色: RGBA模式中,每一个像素会保存以下数据:R值(红色分量).G值(绿色分量).B值(蓝色分量)和A值(alpha分量).其中红.绿.蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而alpha不直接影响颜色,它将留待以后介绍. 在RGBA模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定. glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R.G.B的值,而A值采用默认:四个参数的版本可以分别指定R.G.B.A的值.例如: void glColor3f(GLfl

OpenGL 自制API (1)

glVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride,const GLvoid * pointer); 参数: pointer 指定一个指针,指向数组中第一个顶点属性的第一个组件.初始值为0. stride 指定连续顶点属性之间的偏移量.如果为0,那么顶点属性会被理解为:它们是紧密排列在一起的.初始值为0. normalized 指定当被访问时,固定点数

call to OpenGL ES API with no current context 和Fatal signal 11

近日在用cocos2dx3.4的时候使用了JNI调用,发现一个现象 当不使用jni的时候完全正常,使用了jni后回去的所有文字都变成黑块,并且有概率程序崩溃,附带出了两个log call to OpenGL ES API with no current context  和 Fatal signal 11 但同样的cocos2dx ,同样的jni代码,另一个项目却正常.找寻了好久之后发现了原因 cocos2dx 3.x以后版本 不再是一个进程跑到底: 引用:"Cocos2d-x从2.x版本到上周

【转】OPENGL基本API概述

本文信息资源来源于网络,欢迎转载!转载时请保留本文链接(http://www.shopliyang.com.cn/)! OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果数学功底好,在不用glu的情况下,也是可以做出同样的效果.glut是基本的窗口界面, 是独立于gl和glu的,如果不喜欢用glut可以用MFC和Win32窗口等代替:但是

OpenGL ES API with no current context

这个问题是因为Android在启动cocos2d-x的Thread时,没有用context的主的Thread,而是使用的OpenGL的Thread,所以我们不能在主Thread去完成 本应该是在cocos2dx中OpenGL Thread中 完成的工作(即所调用的函数在Cocos2dx中做的工作), 必须使用OpenGL的Thread去完成︰ public static native void nativeCallback(String code, String params); //原本程序中

OpenGL的API函数使用手册

(一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl.glu.aux.glut.wgl.glx.agl 等等. 1.核心函数库主要可以分为以下几类函数 (1) 绘制基本的几何图元函数.如:glBegain(). (2) 矩阵操作.几何变换和投影变换的函数.如:矩阵入栈glPushMatrix(),还有矩阵的出栈.转载.相乘,此外还有几何变换函数glTranslate*(),投影变换函数glOrtho()和

android opengl es 源码

[转自:http://blog.csdn.net/happyhell/article/details/6086973] The entire OpenGL ES API on Android is implemented in three libraries, located under /system/lib (for more information about OpenGL ES visit the official Khronos page): * libEGL.so: implemen