OpenGL
文章平均质量分 75
大宅小涛
这个作者很懒,什么都没留下…
展开
-
Unity3d 着色器语法(Shader)
本文永久地址:http://www.omuying.com/article/27.aspx,【文章转载请注明出处!】Shader "name" { [Properties] Subshaders [Fallback] } 定义了一个着色器。着色器拥有一个 Properties 的列表。着色器包含一个子着色器的列表(SubShaders)。并且至少包含一个(SubShader)。当加载一个着转载 2015-07-17 11:29:34 · 3893 阅读 · 0 评论 -
OpenGL ES2.0教程:编写自己的shader
编写你的第一个Vertex Shader编写你的第一个Fragment ShaderVAO和VBO初探顶点数据是怎么传递的重用VAO参考资料在上篇文章中,我给大家介绍了如何在cocos2d-x里面绘制一个三角形,当时我们使用的是cocos2d-x引擎自带的shader和一些辅助函数。在本文中,我将演示一下如何编写自己的shader,同时,我们还会介绍VBO(顶点转载 2015-08-30 23:12:34 · 2515 阅读 · 0 评论 -
OpenGL模板缓冲区与模板测试
原文地址:http://www.blogjava.net/qileilove/archive/2014/01/23/409269.html帧缓冲区有许多缓冲区构成,这些缓冲区大致分为: 颜色缓冲区:用于绘图的缓冲区,它包含了颜色索引或者RGBA颜色数据。 深度缓冲区:存储每个像素的深度值,当启动深度测试时,片段像素深度值和深度缓冲区深度值进行比较,决定片段哪些像素点数据可转载 2015-07-10 16:01:31 · 374 阅读 · 0 评论 -
OpenGL 纹理本质
几个月前调试3D纹理时发现一个有趣的问题:同样的3D HW lib库在android2.2系统上可以正常工作,但在2.3系统上却不能工作,显示的图像白屏,调试了几天才将问题定位并解决,解决方法很简单:1、修改GLExtensions.h头文件对于变量mHaveDirectTexture赋值使其值为TRUE2、使用mFailoverTexture作为当前纹理绘图下面详细介绍O转载 2015-07-22 11:53:54 · 561 阅读 · 0 评论 -
OpenGL中的多重采样
抗锯齿处理的最大优点之一就是它能够使多边形的边缘更为平滑,使渲染效果显得更为逼真和自然。点和直线的抗锯齿处理是得到广泛支持的,但遗憾的是,对多边形的平滑处理并没有在所有平台上都得到实现。并且,即使在可以使用GL_POLYGON_SMOOTH的时候,对整个场景进行抗锯齿处理也没有想象中的那么方便。这是因为,抗锯齿处理是基于混合操作的,这就需要从前到后对所有的图元进行排序,这是十分麻烦的。转载 2015-07-22 11:48:08 · 3803 阅读 · 0 评论 -
全屏反锯齿 - 多重采样Ⅰ
图形绘制的时候总能看见那些不美观的锯齿。尤其是边缘锯齿给用户带来的突兀感,给了计算机图形学几乎一个属于“领域”的研究——反锯齿。视觉上的美观优化,以及改进后的运行效率,两手都要硬。——ZwqXin.com本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明 原文地址:http://www.zwqxin.com/archives/open转载 2015-07-22 11:49:51 · 1997 阅读 · 0 评论 -
openGL 深度测试
openGL里常出现深度测试,一直不清楚。今天就来弄清楚。 (1)什么是深度? 深度其实就是该象素点在3d世界中距离摄象机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值! 深度值(Z值)越大,则离摄像机越远。 深度值是存贮在深度缓存里面的,我们用深度缓存的位数来衡量深度缓存的精度。深度缓存位数越高,则精确度越高,目前转载 2015-07-22 17:12:15 · 475 阅读 · 0 评论 -
深入了解OpenGL——模板测试
我们在用OpenGL绘图时往往想制作一些复合图形以及凹凸多边形,像五角星、大的矩形里再画一个小的矩形;另外有时还想做些镂空图或类似的效果。这时我们可以开启模板测试功能来完成这些需求。由于OpenGL的一个绘制流水线特征以及GPU着色特征,像对于大矩形里画小矩形这种不能通过先绘制大矩形,然后再在其中绘制小矩形的方式进行绘制,否则当此复合图形在做一些旋转时,我们会发现小矩形部分会有非常严重的抖原创 2015-06-01 11:36:19 · 1248 阅读 · 0 评论 -
OpenGL中的混合测试
Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。 glEnable( GL_BLEND ); //转载 2015-07-22 17:34:18 · 923 阅读 · 0 评论 -
OpenGL片断测试
大家好。现在因为参加工作的关系,又是长时间没有更新。趁着国庆的空闲,总算是又写出了一课。我感觉入门的知识已经快要介绍完毕,这课之后再有一课,就可以告一段落了。以后我可能会写一些自己在这方面的体会,做一份进阶课程。现在即将放出的是第十二课的内容。首先还是以前课程的连接:第一课,编写第一个OpenGL程序第二课,绘制几何图形第三课,绘制几何图形的一些细节问题第四课,转载 2015-07-22 16:53:39 · 449 阅读 · 0 评论 -
使用批次优化渲染
[使用批次优化渲染] 用10000次glDrawElement绘制1个三角形,其速度远小于用1次glDrawElement绘制10000个三角形。所以尽量把能够同时绘制的顶点都通过一个glDrawElement等函数来绘制可以大大提高渲染效率。 使用批次渲染技术有几个要点,可以同时渲染的顶点有几下几个要求: 1. Primitive须相同,glDrawElements第1个参数为转载 2015-08-28 16:16:07 · 872 阅读 · 0 评论 -
可编程图形渲染管线
着色程序分为两类:vertex shader program(顶点着色程序)和fragment shader program(片断着色程序)。为了清楚的解释顶点着色和片断着色的含义,我们首先从阐述GPU上的两个组件:Programmable Vertex Processor(可编程顶点处理器,又称为顶点着色器)和 Programmable Fragment Processor(可编程片断处理器,又原创 2015-07-20 16:59:14 · 5647 阅读 · 0 评论 -
OpenGL ES 2.0渲染管线
http://codingnow.cn/opengles/1504.htmlOpengl es 2.0实现了可编程的图形管线,比起1.x的固定管线要复杂和灵活很多,由两部分规范组成:Opengl es 2.0 API规范和Opengl es着色语言规范。下图是Opengl es 2.0渲染管线,阴影部分是opengl es 2.0的可编程阶段。 1. 顶点着色器转载 2015-07-21 11:47:18 · 432 阅读 · 0 评论 -
Unity3D表面着色器(Surface Shader)资料整合
一、Shader 表面着色器语法Unity 的表面着色器 (Surface Shader) 是一种代码生成方法,用它来编写光照着色器比用低级的顶点/像素着色器程序容易得多二、编写一个灰度效果的Shader三、Shader 内置 Shader 之 Normal-Diffuse Normal-Diffuse 是一个简单的光照模型,光照强度随着物体表面和光入射角夹角的减小原创 2015-07-17 15:46:22 · 1204 阅读 · 0 评论 -
对于法线贴图(Normal Map) 的深入研究
前几篇文章写过有关法线贴图的内容,这次文章将讨论其原理及相关优化。回过头来看一下原来的文章真有种想删掉的感觉。。。为什么叫法线贴图,我们知道法线(Normal)是垂直于一个面的直线,通过计算光线与这条法线的角度就可以知道与面的角度,进而可以计算出面应得到的颜色值。如果我们知道物体每个面的法线就能实现对这个物体进行光照渲染。但是一堵墙也许只有四个顶点,也就是只有一个面,它最终的渲染效果将会非转载 2015-07-17 11:01:05 · 4714 阅读 · 0 评论 -
在Unity中使用Shader
1、Material 和 Shader 的关系,一个材质包含一个Shader程序,在Shader中设置的属性可以通过Material可视化设置2、内建Shader,在5.0之后的版本中大部分旧的Shader都集成在了Standard Shader中了,可以通过设置Standard Shader的属性达到不同的需要的渲染效果。 Albedo:反光率Specular:镜面反射原创 2015-07-17 11:37:32 · 5315 阅读 · 0 评论 -
概要:Unity Cg 编程(关于顶点与片段着色器)
本文永久地址:http://www.omuying.com/article/83.aspx,【文章转载请注明出处!】原文链接:http://en.wikibooks.org/wiki/Cg_Programming/Unity在 Unity 游戏引擎中编写 Cg 程序要比在 OpenGL 或 Direct3D 应用中编写 Cg 程序容易,因为导入的网格和图像(即纹理)有图形用户界面支转载 2015-07-23 14:37:29 · 1256 阅读 · 0 评论