Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >shader着色器

shader着色器

作者头像
sofu456
发布于 2019-07-09 06:30:15
发布于 2019-07-09 06:30:15
6860
举报
文章被收录于专栏:sofu456sofu456

1.数学

齐次坐标:点p=a+b+c+o(原点),向量p=a+b+c,所以向量的其次坐标(a,b,c,0),点(a,b,c,n)

其次坐标变换,n>1放大,n<1缩小

对称变换 ,| -1 0 0 0 |

| 0 1 1 0 |

| 0 0 1 0 |

| 0 0 0 1 |

[x,y,z] = [x,y,z,n] * Mat变换矩阵 T1 = { x11,x12,x13,x21,x22,x23,x31,x32,x33}比例、旋转、对称、交错变换 T2 = {x41,x42,x43}平移变换 T3 = {x14,x24,x34}投影变换 T4 = {x44}整体比例缩放

参考:https://blog.csdn.net/zx3517288/article/details/79154036

四元数:(x,y,z,w),(x,y,z)表示向量,w表示旋转角度,

四元数q1*q2叉乘: (w1*w2 - x1*x2 - y1*y2 - z1*z2) + (w1*x2 + x1*w2 + y1*z2 - z1*y2) i + (w1*y2 - x1*z2 + y1*w2 + z1*x2) j + (w1*z2 + x1*y2 - y1*x2 + z1*w2) k

参考:https://www.cnblogs.com/mengdd/p/3238223.html

2.glsl

顶点shader和片段shader

attribute顶点相关,uniform顶点无关数据,varying顶点和片段之间传递数据

变量前加highp、mediump、lowp精度声明

vec4:rgba、顶点坐标(齐次坐标)、

vec3:法线坐标(顶点所在面的法线)、

vec2:纹理坐标

sampler2D:访问二维纹理

法线坐标参考:https://blog.csdn.net/zhw_giser/article/details/11950307

3.hlsl

4.shader toy(webgl使用glsl规范)

学习的网站:https://www.shadertoy.com

5.shader editor(goole插件或者网页)

http://shdr.bkcore.com/

6.geeks3d

http://www.geeks3d.com/shader-library/

7.glsl参考

https://www.cnblogs.com/mazhenyu/p/3804518.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年05月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【前端er入门Shader系列】04—MVP矩阵与纹理映射
我们生活在三维的由各种色彩构成的大千世界里,包含了复杂的细节纹理,而纹理采样作为重要的图形学技术,能够在渲染物体表面时,使用一张图片来提供颜色信息,从而增强物体的细节和真实感。本章将结合少量数学知识,介绍如何使用MVP矩阵将三维场景投射到二维屏幕,最终执行纹理采样的过程。
CS逍遥剑仙
2025/01/13
3560
OpenGL光照学习以及OpenGL4环境
前言 最近稍有空闲,整理下之前学习光照的笔记,以及在配置OpenGL4环境过程中遇到的问题。 光照 1、模拟灯光 模拟灯光:通过GPU来计算场景中的几何图形投射和散发出来的光线。 本质是GPU对每个三角形的顶点单独计算灯光,然后把结果再顶点之间的片元中进行插值。 故而当要求一个更真实、更光滑的灯光时,需要增加大量的三角形,从而加大计算量。 在上述这种情况,可以把灯光效果预处理并烘焙到纹理中。(就是形成一个纹理) 2、光照计算 光源=环境光 + 漫反射光 + 镜面反射光。 在计算光照的过程中,需
落影
2018/04/27
1.4K0
OpenGL光照学习以及OpenGL4环境
分类判决界面---W-H、H-K算法
对于两类问题,设n+1维增广训练模式x1, x2, ...,xN已符号规范化。如果训练模式是线性可分的,则存在权矢量w使不等式组
不去幼儿园
2024/12/03
1340
分类判决界面---W-H、H-K算法
OpenGL & Metal Shader 编程系列来了,要不要上车?
前面发了一些关于 Shader 编程的文章,有读者反馈太碎片化了,希望这里能整理出来一个系列,方便系统的学习一下 Shader 编程。
字节流动
2023/09/04
1.5K0
OpenGL & Metal Shader 编程系列来了,要不要上车?
坐标转换与姿态描述
为了能够科学的反映物体的运动特性,会在特定的坐标系中进行描述,一般情况下,分析飞行器运动特性经常要用到以下几种坐标系统1、大地坐标系统;2、地心固定坐标系统;3、本地北东地坐标系统;4、机载北东地坐标系统;5、机体轴坐标系统。 其中3、4、5在我们建模、设计控制律时都是经常需要使用的坐标系,描述物体(刚体)位姿信息的6个自由度信息都是在这三个坐标系中产生的
小飞侠xp
2019/10/13
2.5K0
Shader 入门与实践
Shader(着色器)是一种用于在计算机图形学中进行图形渲染的程序。它们是在图形处理单元(GPU)上执行的小型程序,用于控制图形的各个方面,如颜色、光照、纹理映射、投影等。
KhalilH
2024/05/16
1K0
OpenGL ES 着色器语言丨音视频基础
我们在音视频基础主题专栏中关于渲染的文章里介绍了 OpenGL 和 OpenGL ES 的基础理论知识和相关 API,其中涉及到了一些简单 Shader 的使用,而编写 Shader 则需要用到 OpenGL Shader Language(后面简称 GLSL)和 OpenGL ES Shading Language(后面简称 GLSL ES)。
关键帧
2023/02/14
1.7K0
OpenGL ES 着色器语言丨音视频基础
three.js 着色器材质之初识着色器
说起three.js,着色器材质总是绕不过的话题,今天郭先生就说一说什么是着色器材质。着色器材质是很需要灵感和数学知识的,可以用简短的代码和绘制出十分丰富的图像,可以说着色器材质是脱离three.js的另一块知识,因此它十分难讲,我们只能在一个一个案例中逐渐掌握着色器语言的使用技巧。
郭先生的博客
2020/08/31
3.2K0
three.js 着色器材质之初识着色器
Github霸榜:从零开始学3D着色器编程
Shader,是运行在GPU上的程序,中文称为着色器。它的主要用途是对三维物体进行着色处理,对光与影进行计算,以及控制纹理颜色的呈现等,最终,将游戏引擎中的几何数据转化为屏幕上的模型、场景以及特效。
新智元
2019/05/17
2.2K0
Github霸榜:从零开始学3D着色器编程
关于梯度下降法的理解
关于梯度下降法的理解,梯度下降法是一个一阶最优化算法。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。
python与大数据分析
2022/03/11
6970
关于梯度下降法的理解
麦克风阵列声源定位程序_麦克风阵列怎么设置
利用麦克风阵列可以实现声源到达方向估计(direction-of-arrival (DOA) estimation),DOA估计的其中一种方法是计算到达不同阵元间的时间差,另外一种可以看这里,这篇主要介绍经典的GCC-PHAT方法
全栈程序员站长
2022/11/09
1.9K0
麦克风阵列声源定位程序_麦克风阵列怎么设置
用 Shader 写个完美的波浪~
根据我多年喝奶茶的经验,像这种效果用 Shader 做就再简单不过了,最终的效果如下:
陈皮皮
2020/09/10
1.9K0
FFmpeg + OpenGL ES 实现 3D 全景播放器
前文中,我们已经利用 FFmpeg + OpenGLES + OpenSLES 实现了一个多媒体播放器,本文将基于此播放器实现一个酷炫的 3D 全景播放器。
字节流动
2020/09/14
1.4K0
3D图形学线代基础
如标题所言都是些很基础但是异常重要的数学知识,如果不能彻底掌握它们,在 3D 的世界中你将寸步难行。
NewbieYoung
2020/10/26
2.2K0
3D图形学线代基础
MATLAB语音信号处理「建议收藏」
数字信号处理课设,我们使用MATLAB对语音信号进行了一系列处理,并将其所有功能集中于下图界面中:
全栈程序员站长
2022/09/01
4.2K0
MATLAB语音信号处理「建议收藏」
OpenGL ES _ 着色器_ 顶点着色器详解
提醒广大网友,当你看到这篇文章的时候,以后写的关于OpenGL 更多的便是代码实战了!
酷走天涯
2018/09/14
2.2K0
OpenGL ES _ 着色器_ 顶点着色器详解
Android多媒体之GLES2战记第五集--宇宙之光
你以为我的封面图只是吸引眼球? 上集说到:用矩阵的变换来操作顶点,使图形产生相应的变化(移动,选择,缩放) 这一集将点亮世界之光,让你对OpenGL的世界有更深的了解 普通副本五:黑龙之珠
张风捷特烈
2019/03/05
8020
FFmpeg + OpenGL ES 实现 3D 全景播放器
前文中,我们已经利用 FFmpeg + OpenGLES + OpenSLES 实现了一个多媒体播放器,本文将基于此播放器实现一个酷炫的 3D 全景播放器。
视界音你而不同
2021/01/18
1.5K0
FFmpeg + OpenGL ES 实现 3D 全景播放器
3.QOpenGLWidget-通过着色器来渲染渐变三角形
在上章2.通过QOpenGLWidget绘制三角形,我们学习绘制三角形还是单色的,本章将为三角形每个顶点着色.
诺谦
2020/10/26
1.1K0
3.QOpenGLWidget-通过着色器来渲染渐变三角形
表面着色器(Surface Shader)的写法(一)
而这个结构体的用法,其实就是对这些需要用到的成员变量在surf函数中赋一下值,比如说这样: [cpp] view plain copy
bering
2019/12/03
2.4K0
相关推荐
【前端er入门Shader系列】04—MVP矩阵与纹理映射
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档