随笔分类 - 计算机图形学
摘要:概述 粒子的属性: 寿命 a_lifetime 开始位置 a_startPosition 结束位置 a_endPosition 中心位置 u_centerPosition 颜色 u_color随机生成 时间 u_time持续一秒钟 1000个粒子,在1秒钟的时间,从开始位置,线性移动到结束位置。 1
阅读全文
摘要:概述 1. 多重渲染目标 多重渲染目标允许应用程序一次渲染到多个颜色缓冲区。利用多重渲染目标,片段着色器输出多个颜色(可以用于保存RGBA颜色,法线,深度或者纹理坐标),每个颜色用于一个连接的颜色缓冲区。 片段着色器输出多个颜色 → attachments指定为新创建的framebuffer → 从
阅读全文
摘要:概述 1. 多重纹理 多重纹理用来组合多个纹理贴图。 void Draw(MYESContext *myesContext) { myUserData *userData = (myUserData *)myesContext->userData; // 两个纹理共用同一组纹理坐标和顶点坐标了 GL
阅读全文
摘要:概述 立方图纹理 立方图就是一个由6个单独2D纹理面组成的纹理,通常,生成环境贴图所用的立方图通过在场景中央放置一个摄像机,从6个轴的方向(+X,-X,+Y,-Y,+Z,-Z)捕捉场景图像并将结果保存在立方体的每个面来生成。 立方图纹素的读取通过使用一个3D向量(s,t,r)作为纹理坐标,在
阅读全文
摘要:概述 纹理包装模式用于指定纹理坐标超出[0.0, 1.1]范围时所发生的行为,用glTexParameter[i|f] [v]设置,这些模式可以为s、t、r坐标单独设置。GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T和GL_TEXTURE_WRAP_R分别定义s和t和r坐标超
阅读全文
摘要:概述 坐标属性插值 对于三角形中的点的属性,可以使用插值的方式,来获取平滑过渡的值。比如点的纹理坐标,点的颜色,点的法向量等等。 如上图所示,光栅化之后,我们可以获取到三角形内的点的坐标(x,y)。然后给三角形中的顶点VA指定红色,VB指定绿色,VC指定蓝色,然后通过插值的方式,三角形内就可以得到这
阅读全文
摘要:5.简单的2D纹理绘制 概述 2D纹理是一个图像数据的二维数组,一个纹理的单独数据元素称作纹理像素(texture pixels)。 总体流程 纹理的使用流程 1. 准备工作 // 设置数据传输模式 // void glPixelStorei (GLenum pname, GLint param);
阅读全文
摘要:4. 顶点着色器-mvp转换 概述 属性:用顶点数组提供的逐顶点数据(顶点位置、颜色、纹理) 统一变量和统一变量缓冲区:顶点着色器使用的不变数据(mvp变换矩阵) 采样器:代表顶点着色器使用的纹理的特殊统一变量类型 着色器程序:顶点着色器程序源代码或者描述在操作顶点的可执行文件 设置统一变量的流程
阅读全文
摘要:3. 实例化-画100个正方体 概述 数据的传递流程 (1)准备顶点属性缓冲区 positionVBO:用于存放正方体顶点位置的缓冲区,一个正方体需要24个顶点位置来描述,一个顶点位置三个数(x,y,z) colorVBO:用于存放正方体颜色的缓冲区,每个正方体一种颜色,这里一共有100个正方体,一
阅读全文
摘要:顶点属性 概述 指定顶点属性数据的方式: 常量顶点属性 顶点数组方式 顶点缓冲区对象方式(图形内存中分配) 顶点数组方式(简化顶点缓冲区对象的使用流程) 映射缓冲区对象(将顶点缓冲区对象映射到用户空间中,再加载数据,而不是使用glBufferData来加载数据) 1. 指定顶点属性数据的方式 1.
阅读全文
摘要:OpenGLES-triangle 总体流程 创建EGL 渲染表面 创建着色器和链接程序 输入顶点信息 开始渲染 开始绘制 效果图 源码解析 Android层操作 static void HandleCommand(struct android_app *pApp, int32_t cmd) { M
阅读全文
摘要:Android-Studio-NativeActivity创建流程 1. Android-Studio和Android.mk方案 - 配置解析 1. 新建Android-studio工程 选择Native C++就可以了 2. 修改AndroidManifest.xml文件 <?xml versio
阅读全文

浙公网安备 33010602011771号