OpenGL超级宝典学习笔记:语言概述

前言
本篇在讲什么

本篇记录GLSL中的一些类型和定义方式
本篇适合什么

适合初学OpenGL的小白
本篇需要什么

对C++语法有简单认知
对OpenGL有简单认知
最好是有OpenGL超级宝典蓝宝书
依赖Visual Studio编辑器

本篇的特色

具有全流程的图文教学
重实践,轻理论,快速上手
提供全流程的源码内容


★提高阅读体验★

♠ 一级标题

♥ 二级标题

♣ 三级标题

♦ 四级标题


目录

  • ♠ GLSL中的标量类型
  • ♠ GLSL中的向量和矩阵类型
  • ♠ GLSL数组
    • ♥ 声明方式
    • ♥ 数组赋值
    • ♥ 多维数组
  • ♠ 推送
  • ♠ 结语


♠ GLSL中的标量类型

类型 定义
bool 布尔值,true或者false
float IEEE-754格式的32位浮点数
double IEEE-754格式的64位浮点数
int 32位二补数有符号整数
unsigned int 32位无符号整数

♠ GLSL中的向量和矩阵类型

大小 标量类型
标量 bool float double int unsigned int
2元向量 bvec2 vec2 dvec2 ivec2 uvec2
3元向量 bvec3 vec3 dvec3 ivec3 uvec3
4元向量 bvec4 vec4 dvec4 ivec4 uvec4
2x2矩阵 —— mat2 dmat2 —— ——
2x3矩阵 —— mat2x3 dmat2x3 —— ——
2x4矩阵 —— mat2x4 dmat2x4 —— ——
3x2矩阵 —— mat3x2 dmat3x2 —— ——
3x3矩阵 —— mat3 dmat3 —— ——
3x4矩阵 —— mat3x4 dmat3x4 —— ——
4x2矩阵 —— mat4x2 dmat4x2 —— ——
4x3矩阵 —— mat4x3 dmat4x3 —— ——
4x4矩阵 —— mat4 dmat4 —— ——

♠ GLSL数组

♥ 声明方式

数组存在两种生命方式

float foo[5]
ivec2 bar[13]
dmat3 baz[29)
float[5] foo
ivec2[13] bar
dmat3[29) baz

♥ 数组赋值

数组的赋值也有两种方式

float[6] var = float[6](1.02.03.04.05.06.0);
float var[6] = { 1.02.03.04.05.06.0};

♥ 多维数组

GLSL中没有多维数组,但可以数组内套数组

float a[10];
float b[10][2];
float c[10][2][5];

  • 推送、结语

♠ 推送

  • Github
https://github.com/KingSun5

♠ 结语

若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

本文属于原创文章,转载请评论留言,并在转载文章头部著名作者出处

你可能感兴趣的:(openvino)