GLSL语言核心-《OpenGL着色语言-第一版》读书笔记1-第二章

本文介绍计算机图形学中的着色器概念及其内置属性变量,详细解析顶点处理器与片元处理器的工作原理,并概述了着色语言相较于C语言的增强特性,包括矢量类型、构造函数支持及samplerND类型等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

着色器简介:

//顶点处理器的内置属性变量:
gl_Color; gl_Normal; gl_Vertex;
//顶点处理器的输出变量:
gl_Position; gl_PointSize; gl_ClipVertex;

//片元处理器的内置属性变量:
gl_Color;
//片元处理器的输出变量:
gl_FragColor; gl_FragDepth;

着色语言简介:

  • 对C的增加:
//增加矢量类型,通过点运算符可以访问矢量单一分量或多个分量:
vec2 vec3 vec4 mat2 mat4
myVec4.r/g/b/a/x/y/z/w
myVec2 = myVec4.xy
//增加构造函数,支持函数重载:
gl_Color = vec4(myVec4.xyz, 1.0);
gl_Color = vec4(vec3(myVec4), 1.0);
//增加samplerND类型,用于访问N维纹理贴图
//增加Attribute Uniform Varying 关键字
  • 对C的缩减:
//不支持数据类型提升
float f = 0;  //error
//不支持字符 指针 字节 长整形等数据类型
//取消联合 枚举 按位运算
//GLSL不是基于文件的语言,不会出现#include等指令

Attribute Uniform Varying 关键字

  • 属性变量经常变化,通常和具体的顶点有关,可从应用程序传递至顶点着色器;

  • 一致变量用来将不经常变化的值从应用程序传递至任何着色器(OSG中-设计了Uniform Callback,用于从应用程序中修改uniform的值);

  • 易变变量负责从顶点着色器向片元着色器传递数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值