![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shader
文章平均质量分 50
linda012518
这个作者很懒,什么都没留下…
展开
-
【OpenGL】环境建立之android篇
OpenGL是一种跨平台的三维图形API,可用于二维或三维图像的处理和渲染,它是一个功能强大、调用方便的底层图形库。对于嵌入式设备,其提供了OpenGL ES(OpenGL for Embeddled Systems)版本,该版本是针对手机、Pad等嵌入式设备而设计的,是OpenGL的一个子集。这里还要再说一下EGL,EGL是OpenGL ES和窗口系统之间的桥梁,EGL获取到手机屏幕的窗口信息,然后通过配置创建相关环境,并且和OpenGL ES环境建立连接,OpenGL ES通过手机的GPU渲染图像最原创 2020-07-13 13:47:32 · 463 阅读 · 0 评论 -
【Unity Shaders】抖音变身漫画 2
此篇文章只讨论图像处理部分,AI换脸暂不讨论。上图左边手机拍摄效果,右图是自己通过算法实现。不同角度和亮度,不同参数的效果对比。提亮图像由于不同手机或图片的亮度信息不同,这里咱们先加了亮度调整,但是又不能平均加亮,这样会导至图片丢失很多细节,所以选择非线性提亮。for(int i = 0; i < _Light; i++){ col = pow(col, (1 - col/3.0));}非线性提亮方法有很多,大家下载工程后可自行发挥。减少图像般色级别...原创 2020-07-03 15:19:14 · 1637 阅读 · 0 评论 -
【Unity Shaders】抖音变身漫画1
先来看一下手机拍出来的效果,我们发现有一张人像变成了卡通漫画脸,其它的只是做了一些图像处理。你可以再拍几张看一下,会发现千篇一律的大眼、小嘴有没有。你想的没错,这个是AI换脸技术,抖音特效里有很多了,把这个漫画脸再加上对图像的漫画处理,最后出来的就是这个效果。两大步骤:AI换脸、人脸区域以外的图像处理AI技术这里就不讨论了,感光趣的自行 Google/Baidu/Bing人脸区域以外的图像处理:黑线描边,通过亮度比对度、色相饱和度来改变最终图像中颜色级别的数量。分析完毕,希望大家认真原创 2020-07-01 11:34:11 · 1439 阅读 · 0 评论 -
【Unity Shaders】三维模型扫光
由于公众号不能留言,麻烦大家加一下我的微信,方便交流!!!微信号:ITComputerGraph更多精彩内容,关注公众号《IT木子李》没有最简单,只有更简单啊,都不好意思贴代码了。float value = step(i.world.z, _ScanPos + _ScanSize);value *= step(_ScanPos, i.world.z);float4 col = tex2D(_MainTex, i.uv);return fixed4(col * (1-v...原创 2020-06-16 11:06:49 · 1336 阅读 · 0 评论 -
【OpenGL】环境建立之windows篇
微信号:ITComputerGraph更多精彩内容,关注公众号《IT木子李》OpenGL是一种跨平台的三维图形API,它是图形硬件(GPU)的一种软件接口。熟悉它的应该还知道OpenGL是一个大的状态机。OpenGL的代码主要是GPU代码,运行速率相当高效。推荐几个相关常用库:GLEW / GLFW / GLUT / GLMGLEW是一个维护OpenGL扩展的开源库,里面定义了相交的API。GLFW / GLUT是跨平台建立窗口的开源库,由于不同平台的相关性,导致建立窗口是个比较麻烦原创 2020-06-15 11:15:17 · 400 阅读 · 0 评论 -
【Unity Shaders】三维 点状热力图 免费下载
此篇文章接上次一的平面热力图,有粉丝提出需要一个点状的,这个需求在平面热力图上更新即可。《平面热力图》博文微信号:ITComputerGraph工程下载,关注公众号《IT木子李》回复:unity点状热力图只是在原来的基础上加了一小部分代码,在每一个mesh顶点处生成box,这里需要注意的是box的顶点信息,傻傻分不清楚有没有g2f o; o.uv = inPoint[0].uv;float4 v0 = float4( 1, 1, 1,0)*_Size + float原创 2020-06-11 17:34:57 · 1143 阅读 · 0 评论 -
【Unity Shaders】敖丙 的冰冻爆裂技能 免费下载
在帝都每天挤地铁上下班,无数地铁广告飞来,最近看到一个广告特效:地铁车辆由飞裂的碎片变成了一辆完整的车辆,咱也来整一个工程下载:关注公众号《IT木子李》回复:unity敖丙的冰冻爆裂技能上代码+讲解三个主要控制变量:_Height 当前模型被冰冻到的高度,_Alpha 模型渐变到透明的控制,_TAmount 分裂的程度计算三角面的法线方向,也就是爆裂的方向float3 v1 = IN[1].vertex - IN[0].vertex;float3 v2 = IN[2].ve.原创 2020-06-08 11:29:02 · 450 阅读 · 1 评论 -
【OpenGL】渲染管线
微信号:ITComputerGraph更多精彩内容,关注公众号《IT木子李》谈到渲染就不得不说一个老生常谈的问题,渲染管线,先来个流程图吧!渲染管线第一次接触可能有些抽像,不着急,跟随课程更新慢慢你就能体会其中玄机,这里先介绍一下。第一步:准备顶点数据第二步:执行顶点着色器函数第三步:图元装配第四步:几何着色器第五步:细分着色器第六步:光栅化第七步:片元着色器第八步:测试混合这其中还有很多细节流程,以后慢慢介绍。第二步和第六步是不需要程..原创 2020-06-05 15:59:44 · 180 阅读 · 0 评论 -
【3D Math / 3D 数学】向量与点1
微信号:ITComputerGraph更多精彩内容,关注公众号《IT木子李》向量和点都是在坐标系里面的,也就是说(通常情况下)坐标系有几个维度,向量和点就有几个维度,为什么说通常情况下呢,因为我们在变换坐标系时,有时候需要增加维度。这里只介绍2D、3D向量。向量可以表示速度、位移、方向,点可以表示位置、长度。以3D为例,向量和点的数学记法可以用 V 表示,V 包含了三个维度分量 x, y, z,有时候你会看到 x, y, z, w,w可以暂时理解为辅助分量。向量有大小和方..原创 2020-06-04 09:55:21 · 413 阅读 · 0 评论 -
【Unity Shaders】模版测试之彩色 + 灰度处理,不影响物体前后顺序 免费下载
近期有小伙伴提了一个需求,选中物体是彩色显示,非选中物体灰色显示,物体排序正常,所以实现了一个简单的需求,先上图推一个公众号啊,欢迎大家关注,我会定期更新内容,小伙伴们也可以提个工作中的需求,近量帮助大家!!!微信号:ITComputerGraph如里工程:关注公众号《IT木子李》回复:unity彩色灰色混合显示这里应用了相机的图像处理和模版测试,需要两个相机,一个相机渲染场景,一个相机渲染要选中的物体场景相机需要做灰度处理,提取图片亮度信息有固定公式,我们采样图像,然后提取..原创 2020-06-02 17:04:06 · 175 阅读 · 0 评论 -
【Unity Shaders】超简单的图片扭曲 免费下载
今天更新一个超简单的图片扭曲效果,上图微信号:ITComputerGraph如里工程:关注公众号《IT木子李》回复:unity图片旋转扭曲float center = (0.5, 0.5);float2 dt = i.uv - center;float len = length(dt);float theta = len * _Amount;float2x2 rot = {cos(theta), -sin(theta), sin(theta), cos(thet.原创 2020-05-27 16:31:56 · 756 阅读 · 0 评论 -
【3D Math / 3D 数学】坐标系2
计算机图形用到的数学听起来难,可能是没人带你入门,也可能是你没有恒心,总之其实它并没有那么高深,常用的也就矩阵、向量等等。相信大家都清楚坐标的函义,就不再啰嗦这个定义了,实在不清楚的可以加我微信:ITComputerGraph更多精彩内容,关注公众号《IT木子李》这里先介绍一下常用坐标系空间:模型空间、世界空间、投影空间、设备坐标空间,还有切线空间、灯光空间。这里每一个空间都会有一个对应的矩阵,顺带说一下渲染管线矩阵流程:模型矩阵->世界矩阵->观察矩阵->投影矩.原创 2020-05-27 15:34:50 · 308 阅读 · 0 评论 -
【Unity Shaders】去除三角边 Poly线框显示 免费下载
好几天没有更新了,来个比较常用的需求,在unity里去除三角边的线框显示,老规矩先来个图具体的线框连接方式、线框颜色、还有常用的模型生长,可以在材质面板里任意配置如里工程:关注公众号《IT木子李》回复:unityPoly线框显示下面上代码+讲解顶点着色器很简单,把顶点输出到几何着色器就可以了GS_INPUT VS_Main(appdata_base v){ GS_INPUT output; output.pos = v.vertex; return ou..原创 2020-05-22 09:42:26 · 570 阅读 · 0 评论 -
【Unity Shaders】三维 热力图 免费下载
今天更新一个大众功能的 shader 热力图,相信很多小伙伴会有这个需求,先来个效果图包含了二维热力图和三维热力图,背景图片混合,热力透明度等。如里工程:关注公众号《IT木子李》回复:unity热力图热力图的思路:先获取热力点,然后有热点的影响半径,根据半径可算出周围象素的热图情况v2f vert(a2v input){ v2f o; half3 worldPos = mul(unity_ObjectToWorld,input.pos).xyz; half h原创 2020-05-15 10:34:35 · 1776 阅读 · 4 评论 -
【Unity Shaders】调色板之 Shader 绘制 免费下载
最近闲来无事,用shader做了三种调色板,分享给大家,话不多说,先上图可通过鼠标选取颜色下载--->>关注公众号《IT木子李》回复:unity调色板第一种调色板:方形 hsv/hsb 调色板Shader "Linda/ColorBoardBox" { Properties { _MainTex("MainTex", 2D) = "white" {} _Color("Color", Color) = (1, 1, 1, 1) } SubShader .原创 2020-05-11 10:42:10 · 406 阅读 · 0 评论 -
【Unity Shaders】最简单的顶点/片元着色器4(激情燃烧)
看了前三篇最简单的顶点/片元着色器,是不是感觉很简单,并且很无聊,这是什么嘛!!!一点也不好看等等等。别急,只有掌握了基础,才能修炼成仙,这次稍微来个复杂一点的,这是最终展示效果,顶点会随机移动,像不像你在几中凌乱Shader "Unity Shaders Book/Chapter 5/Simple Shader4" { //序号1 Properties { // 声明一个Color类型的属性 _Color ("Color Tint", Color) = (1.0,原创 2020-05-09 10:47:06 · 478 阅读 · 0 评论 -
【Unity Shaders】最简单的顶点/片元着色器3
Shader "Unity Shaders/Simple Shader3" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // 使用一个结构体来定义顶点着色器的输入 struct a2v { // POSITION语义告诉Unity,用模型空间的顶点坐...原创 2020-04-30 09:53:35 · 245 阅读 · 0 评论 -
【Unity Shaders】最简单的顶点/片元着色器2
Shader "Unity Shaders/Shader2" { SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // 使用一个结构体来定义顶点着色器的输入 struct a2v { // POSITION语义告诉Unity,用模型空间的顶点坐标填充verte...原创 2020-04-29 09:44:39 · 191 阅读 · 0 评论 -
计算机图形汇总 Step 2【OpenGL】总结与回顾
OpenGL原创 2020-04-26 10:28:09 · 189 阅读 · 0 评论 -
计算机图形汇总 Step 1【3D Math / 3D 数学】总结与回顾
3D Math原创 2020-04-26 10:27:25 · 232 阅读 · 0 评论 -
计算机图形汇总 Step 3【Unity Shaders】总结与回顾
Summary (拽一下英文,最近坚持学习英语三月有余,欢同道一起学习啊)接触Unity好几载,最近打算把学习的计算机图形相关知识供献出来,顺便也汇总一下自己的知识体系,让更多的人进入计算机图形领域,成为更高level的程序员,大家一起进步,come on........这里特别推荐女神之书啊《UnityShader入门精要》1、最简单的顶点/片元着色器...原创 2020-04-26 10:23:20 · 282 阅读 · 0 评论 -
【Unity Shaders】最简单的顶点/片元着色器1
Step 1:打开unity5.6.3并创建一个新的工程Step 2:新建一个shader文件,然后起一个让自己高兴的名字,比如:PrettyGrilStep 3:把代码片段粘贴到新建的shader文件中,然后创建一个material并把shader切换成我们自己创建的//shader的路径Shader "Unity Shaders/Shader1" { SubShader {...原创 2020-04-26 10:19:57 · 314 阅读 · 0 评论