/ShaderToy

使用unity实现的一些好玩的shader,包括随机、NPR、基本光照等;持续更新

Primary LanguageC#

MyShaderLAB

一个用来记录各种shader学习过程的repo,其中包括shadertoy、一些书籍、youtube视频里的各种各样的shader,在unity中进行复现。

Table of Contents

Graphic

在shader之前应该首先学习图形学,这一部分记录了自己整理的图形学中的概念与学习心得。

Basic

这一部分是shader中的一些基本方法,包括造型函数、颜色、一些基本光照的实现等。

Circle

img

这一部分是关于圆的造型函数,关于圆的生成、反锯齿、blend等内容。 博客链接造型函数丨圆

调色盘

因此可以用以下的方程产生调色盘 博客链接调色盘

光照模型

光照模型这里实现的是Blinn-Phong模型,使用了两种方法实现。一种是完全GLSL的方法,从0开始写各种向量获取方法,点这里;另外一种是使用unity中的封装好的方法进行编写,点这里.

Random

Random在shader的设计中有着非常重要的作用,同时其呈现的效果也十分的有趣。随机的效果可以模拟一些大自然中的景象,如水面的起伏、风吹过的树叶,也可以进行一些想象中的仿真,比如说虚拟科幻中的量子波纹之类的。

这部分的shader来源于网站shadertoy和Youtube,其中一些代码的复现,具体的实现流程请看我的博客CrowFea丨Blog。关于Random函数的设计在我的另一篇博客中有提及ShaderToy丨Random函数

Virus

img

原链接ShaderToy 博客链接ShaderToy丨着色与时间-Virus的实现

DataPath

img

博客链接ShaderToy丨随机-DataPath的实现

Chromatic Metaballs

img

原链接ShaderToy 博客链接ShaderToy丨随机-Chromatic Metaballs实现

NPR

NPR即非真实性渲染,我们常见的卡通风格渲染就属于这种。卡通渲染可以应用在游戏、电影之中,可以做出十分有趣的效果。这一部分代码借鉴于冯乐乐的博客。

comic

img

博客链接卡通风格渲染

About

  • 如果您有任何的问题,或是想要看shader具体实现的过程,请移步我的博客CrowFea丨Blog