GLSL

梳理 Opengl ES 3.0 (二)剖析一个GLSL程序

OpenGL ES shading language 3.0 也被称作 GLSL,是个 C风格的编程语言。

Opengl ES 3.0内部有两种可编程处理单元,即Vertex processor和Fragment processor,分别用来处理Vertex shader executable和Fragment shader executable。注意,Opengl ES 3.0不支持Geometry Shader。下图中,紫色部分就是可执行体了,即 executable .

梳理 Opengl ES 3.0 (二)剖析一个GLSL程序

先来一段Vertex shader代码

#version 300 es //版本号
in vec4 VertexPosition; //应用层输入逐顶点位置坐标数据
in vec4 VertexColor; //应用层输入逐顶点颜色数据
uniform float RadianAngle; //应用层输入数据

PowerVR的底层级别GLSL优化

作者:Lukasz Furmaniak

PowerVR SDK&Tools 2017 R2版本已经发布,现在是时候来看一下新版本所包含的新内容了。在这篇文章中,我们将仔细分析《PowerVR Low-Level GLSL Optimisation》这篇文档,它能够让我们充分了解PowerVR Rogue体系结构的每一项性能。

GLSL是OpenGL Shading Language的缩写,可以翻译为OpenGL着色语言,该语言是一种高级语言,通常与“上层”(高级)操作相关联,但它也可以进行一些底层的优化,很多时候这会被开发人员所忽略。

在PowerVR Rogue架构中,着色器的性能通常取决于执行一次着色所需的周期数。该架构提供了多种选项,用于配置如何通过流水线的方式在单个周期内执行USC ALU的多条指令,当然这还要取决于其硬件配置。例如,在一个周期内可以执行两条F16 SOP指令,也可以执行F32到F16的转换或者move / output / pack等指令。

【OpenGL】GLSL-双面渲染技术

当我们渲染一个完全封闭的物体的时候,多边形的背面都是隐藏的,我们无法看见。但是如果这个物体有一些空洞,那么一些背面就可以被看见了。然而因为这些多边形的法向量的方向在这个时候不是正确的,所以会渲染出错误的结果。为了合理的渲染这些背面,我们必须反转法向量,然后基于这些反转的法向量来计算光照。

同步内容
--电子创新网--
粤ICP备12070055号