关于opengl的ActiveTexture以及bindXxx函数的分析
1.GLBindxxx,意思就是,将xxx指定为当前对象,之后的操作都是针对这个xxx进行。 比如,GLBindBuffer(bufferTarget, bufferId),就是指定bufferid和该buffer的类型。 void glBufferData( GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage);,就是绑定buffer的数据。 经过试验,绑定完成之后,data占用的内存是可以销毁的。 所以,可以得出一个结论,glBufferData函数调用的时候,应该会发生数据传送。 可能是传送到显卡,也可能是传送给驱动层,然后由驱动层管理。因为游戏使用的总的buffer数,可能会超过显存数,因此显卡可能会有调度机制来管理,比如把暂时不用的buffer从显存中释放,转移到系统内存,等需要的时候,再交换回去。 2.有个函数,不怎么引人注目,但它跟glActiveTexture关系很大 ActiveTexture的时候,要指定TextureUnit,如Texture0,Texture1,这个是怎么来的?按顺序,还是可以直接Active高序号的texture,比如只有一个TExture,但我想ActiveTexture(GL_TEXTURE4)可不可以? 答案是,可以。 Texture,都是以Uniform的方式存在的。 假定某个它的名字是TExture1,通过glGetUniformLocation得到的location是texture1Location 那么,glUniform1i(texture1Location,4),就可以指定这个Texture4指向这个Texture 之后,就调用glActiveTexture(GL_TEXTURE4); 本文得到两个结论: 1.glBufferData会发生从cpu到显卡的数据传送 2.glUniformi设置Texture变量的值,是指定Texture Unit,而不是设置glGenTexture得到的texure对象的int值
关于opengl的ActiveTexture以及bindXxx函数的分析的更多相关文章
- (转)x264源码分析(1):main、parse、encode、x264_encoder_open函数代码分析
转自:http://nkwavelet.blog.163.com/blog/static/2277560382013103010312144/ x264版本: x264-snapshot-2014 ...
- 大数据学习之Scala中main函数的分析以及基本规则(2)
一.main函数的分析 首先来看我们在上一节最后看到的这个程序,我们先来简单的分析一下.有助于后面的学习 object HelloScala { def main(args: Array[String ...
- 151-模型-Power BI&Power Pivot模型DAX函数使用量分析
151-模型-Power BI&Power Pivot模型DAX函数使用量分析 1.背景 我们在 Power BI 或者 Power Pivot 项目中会写很多的 DAX 表达式.在最后项目交 ...
- OpenGL的glViewPort窗口设置函数实现分屏
之前实现过全景图片查看(OpenGL的几何变换3之内观察全景图),那么我们需要进行分屏该如何实现呢?如下图: 没错就是以前提过的glViewPort函数,废话不多说了,我直接上代码: //从这里开始进 ...
- OpenGL的GLUT注册回调函数[转]
OpenGL的注册回调函数 void glutDisplayFunc(void (*func)(void) ); 为当前窗口设置显示回调函数 void glutOverlayDisplayFunc(v ...
- 【OpenGL】glFinish()和glFlush()函数详解-[转]
通常情况下,OpenGL指令不是立即执行的.它们首先被送到指令缓冲区,然后才被送到硬件执行.glFinish和glFlush都是强制将命令缓冲区的内容提交给硬件执行. 一.glFinish()函数 ...
- opengl 实体和网格绘图函数(基础)(转)
http://blog.csdn.net/he_wen_jian/article/details/8594880 GLUT工具箱提供几种图形3维图形的函数: void glutWireSphere(G ...
- [图形学] Chp17 OpenGL光照和表面绘制函数
这章学了基本光照模型,物体的显示受到以下效果影响:全局环境光,点光源(环境光漫反射分量,点光源漫反射分量,点光源镜面反射分量),材质系数(漫反射系数,镜面反射系数),自身发光,雾气效果等.其中点光源有 ...
- Android OpenGL库加载过程源码分析
Android系统采用OpenGL绘制3D图形,使用skia来绘制二维图形:OpenGL源码位于: frameworks/native/opengl frameworks/base/opengl 本文 ...
随机推荐
- JMETER java.net.SocketTimeoutException: Read timed out
将JMETER脚本里的请求超时时间由1000ms 修改为 10000ms,该错误不再出现.
- layerweb弹层组件(SSH框架下)
action类 这里主要看业务方法中表单路径中的(isClose = "1";return resUri;) public class MaterialsAction extend ...
- opencv关于Mat类中的Scalar()---颜色赋值
这个 CvScalar就是一个可以用来存放4个double数值的数组(O'Reilly的书上写的是4个整型成员):一般用来存放像素值(不一定是灰度值哦)的,最多可以存放4个通道的. typedef s ...
- oracle自带总页数分页sql
string strSQL = string.Format(@"select * from( with temp as (select * from * where {0} order by ...
- LoadRunner如何监控Linux下的系统资源
1. 安装rsh,rsh-server [root@localhost /]# yum install rsh [root@localhost /]# yum install rsh-server 或 ...
- git 提交代码操作
1.修改1分支后 git add git commint2.切换到本地分支git checkout local-5.0git remote update 更新远程仓库3.git pull origin ...
- web安全之机器学习入门——3.2 决策树与随机森林
目录 简介 决策树简单用法 决策树检测P0P3爆破 决策树检测FTP爆破 随机森林检测FTP爆破 简介 决策树和随机森林算法是最常见的分类算法: 决策树,判断的逻辑很多时候和人的思维非常接近. 随机森 ...
- Android学习(三)
学号 20189214 <Android程序开发>第八周学习总结 教材学习内容总结 GridView GridView和ListView一样是AbsListView的子类; 都需要一个Ad ...
- AX_CreateAndPostInventJournal
static void CreateAndPostInventJournal(Args _args) { InventJournalTable inventJournalTableLocal; Inv ...
- 【转】Android总结篇系列:Activity启动模式(lauchMode)
[转]Android总结篇系列:Activity启动模式(lauchMode) 本来想针对Activity中的启动模式写篇文章的,后来网上发现有人已经总结的相当好了,在此直接引用过来,并加上自己的一些 ...