上一篇文章,笔者提到了红宝书第8版的代码编译运行问题,想必大家已经知道我看过红宝书了。
然而,笔者竟然看不懂,这是因为笔者并不知道OpenGL的历史。原来有古代OpenGL和现代OpenGL之分,古代OpenGL使用固定功能管线,现在已经被废弃(尽管还能用),而现代使用可编程管线。
由于笔者在网上搜索一通,见到怎么OpenGL的代码又两种风格,到了现在才搞懂。原来OpenGL在...
分类:
其他好文 时间:
2016-04-29 16:03:26
阅读次数:
190
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式。 为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看看具体Demo的实现。 新建一个Win32项目 ,新建一个类我们叫做TriangleDemo,继承自 ...
分类:
其他好文 时间:
2016-04-24 23:14:40
阅读次数:
637
恢(zheng)复(shi)更(kai)新(shi)后的第一天。 唔…不如来说说图形管线和着色器的事吧。趁着刚给别人讲完。(说来还是一段惨痛的经历…TAT) (请自行脑补分割线) 着色器,也就是平时各种地方说的shader,是开发者为了开发需求而为GPU(图形处理器)编写的一个小程序。GPU有着高度... ...
分类:
其他好文 时间:
2016-04-24 06:20:16
阅读次数:
311
前言 1.HLSL入门 1.1什么是着色器 1.2什么是HLSL 1.3怎么写HLSL着色器 1.4怎么用HLSL着色器 2.顶点着色器 2.1可编程数据流模型 2.2顶点声明 2.3用顶点着色器实现渐变动画 3.像素着色器 3.1多纹理化 3.2多纹理效果的像素着色器 3.3应用程序 4.HLSL ...
分类:
其他好文 时间:
2016-04-21 21:50:10
阅读次数:
200
在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了
之前博主通过顶点着色器实现了谁的波动算法:
顶点着色器动画可以减少动画的开销,并减少关节joint的数量
开始举的例子都很简单,可以着手一试
关于vertex c...
分类:
编程语言 时间:
2016-04-20 09:26:12
阅读次数:
214
在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了之前博主通过顶点着色器实现了水的波动算法: unity3d 制造自己的水体water effe ...
分类:
编程语言 时间:
2016-04-20 08:13:57
阅读次数:
238
认识着色器 理解OpenGL渲染管线,对于学习OpenGL非常重要。下面是OpenGL渲染管线的示意图:(图中淡蓝色区域是可以编程的阶段) 此图是从wiki中拿过来的,OpenGL的渲染管线主要包括: 准备顶点数据(通过VBO、VAO和Vertex attribute来传递数据给OpenGL) 顶点 ...
分类:
其他好文 时间:
2016-04-17 17:45:09
阅读次数:
146
Shader和渲染管线 什么是Shader Shader,中文翻译即着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去由汇编语言来编写,现在也可以使用高级语言来编写。一句话概括:Shader是可编程图形管线的算法片段。 它主要分为两类:Vertex Shader和Fragme ...
分类:
其他好文 时间:
2016-04-17 14:34:50
阅读次数:
149
在Unity5.x后, 已经支持了基于物理的光照模型,也就是常说的次时代引擎所必须具备的功能。 在 SurfaceShader 中, 不可以有 Pass 通道, 否则会报错。 以上内容只是笔记, 有错误请指正。 官方示例: 我们将开始用一个非常简单的着色,并建立在。这里的一个着色,只设置表面颜色“白 ...
分类:
编程语言 时间:
2016-04-04 00:06:44
阅读次数:
598
在Shader中,我们除了可以设定各种光线处理外,还可以增加纹理贴图。 使用 settexture 命令可以为着色器指定纹理。 示例代码: 效果图: 默认渲染顺序图: 指令说明: settexture 应用纹理 combine 纹理混合时使用的计算方式 constantColor 透明通道 Blen ...
分类:
编程语言 时间:
2016-04-03 06:56:21
阅读次数:
249