Shader的基本用法和语法结构
Shader的基本用法和语法结构
本文提供全流程,中文翻译。 Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
1
Introduction ——基本介绍
Shader —— 着色器
其根基涉及到的就是:计算机图形学。
而计算机图形学,不专门搞这方面的人,都对其了解很少。因为里边涉及到大量数学和图形学知识:理论、转换、公式、矩阵、空间转换等等…
所以,学习Shader就不要抱着直接能出效果的心态去学,而是要从1+1的基本概念学起,一步一个脚印的打好基础,慢慢熟练运用,切勿心急。总有一天,你也会成为大神。
Shader 是干什么的?
它的作用可以先简单理解为对屏幕上的物体,进行颜色处理。
而大家都知道,所有计算机,处理颜色的当然是显卡,也就是 GPU 。
所以我们写 Shader 的目的就是告诉 GPU ,我需要对物体的颜色,纹理,等方面,怎样处理,达到我们想要的效果。
这就告诉我们,需要了解GPU的工作原理。否则,我们怎么去用 Shader 指挥 GPU?
不过,先不要着急。 GPU 的工作原理,我们先放到一边。
我们先来了解下 Shader 到底是什么东西,在 Unity 中,它又在哪里,扮演着什么角色?
下面的这个炫酷的例子,就是网络上某大神通过Shader实现的
大家可以直接跳转 Shadertoy官网 去看下,大神们制作分享的效果:
2
Where is Shader —— - -Shader在Unity的哪里
未完待续….抽空再写
Shader的基本用法和语法结构的更多相关文章
- 04 Linux 指令语法结构与帮助命令
一.Linux指令语法结构 [tyang3@localhost Desktop]$ command [-options] [arguments] 指令 选项 参 ...
- CSS_简介/语法结构/长度单位/应用方式/标签的样式重置/表单样式重置
一.CSS简介: w3c(World Wide Web Consortium):万维网联盟,是规定网页标准的一个组织(叫做Web标准) Web标准:是由w3c和其他标准化组织制定的一系列标准的集合, ...
- PHP读书笔记(1)-PHP语法结构与变量
一 .php基础语法 1.php语法结构 标准风格:<?php code; ?>.PHP每句代码用;(分号)结尾.<---就用这个,其他的看看就可以了 短风格:<? code; ...
- C#中区别多态、重载、重写的概念和语法结构
C#中区别多态.重载.重写的概念和语法结构 重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override. 格式: 基类中: public virtual ...
- Java初认识--Java中的语法结构
Java中的语法结构(程序流程控制) Java的语法结构有四种: 1.顺序结构. 顺序结构很简单,就是按顺序执行,输出就可以了. 2.判断结构. 判断结构的一个代表性的语句是if:if语句有三种格式体 ...
- Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述
1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : ...
- html dl dt dd标签元素语法结构与使用
dl dt dd认识及dl dt dd使用方法 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一.dl dt dd认识 ...
- PHP基本的语法结构
学过C语言的话,上手PHP语言就非常快了,如果你有bash shell的基础,那恭喜你,上手PHP会更快,我们先来了解一下一些比较简单的东西,界定符和注释在PHP中的写法: 一 php文档的语法结构 ...
- 【Unity Shader】---常用帮助函数、结构体和全局变量
[Unity Shader]---常用帮助函数.结构体和全局变量 一.内置包含文件 Unity中有类似于C++的包含文件.cginc,在编写Shader时我们可以使用#include指令把这些文件包含 ...
随机推荐
- [C++]简单的udp通信
UDPclient.cpp #include<WINSOCK2.H> #include<iostream> #pragma comment(lib,"WS2_32.l ...
- 算法笔记--st表
概述:用倍增法求区间最值的离线算法,O(nlogn)预处理,O(1)访问. 预处理: 状态:st[i][j]:[i,i+2^j)之间的最值 状态转移:如果j等于0,st[i][j]=a[i] 如果j大 ...
- C#复制数据到剪切板
C#复制数据到剪切板 1. 复制固定的数据到剪切板 Clipboard.SetText("123456"); 于是123456就已经复制到剪切板中了,无论在任何地方粘贴都会出现‘1 ...
- Freemarker 简介
1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效果就不会再发生变化(除非你修改 ...
- ln软连接
ln软连接 ln -s 源目录/文件 目标目录/文件 例如,有个应用 /var/www/html/webapp,下面有个logs日志文件夹,想吧 webapp/logs日志文件夹链到/home ...
- React 介绍
ttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind The sm ...
- php--------返回404状态
php header()返回404状态代码的两种方式 //方式一 header('HTTP/1.1 404 Not Found');exit('404') //方式二 header("sta ...
- 49 BOM 和DOM
一.BOM window 对象 1.确认,输入, window.alert(123) // 弹框 let ret = window.confirm("是否删除") / ...
- java.lang.Exception: Socket bind failed: [730048]
严重: Error initializing endpoint java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/ ...
- 日志易——中国版的splunk
https://www.rizhiyi.com/ 日志易——中国版的splunk 官方号称 10万EPS (Event Per Second) 其他链接: http://doc.mbalib.com/ ...