计算机图形学
CG软件等
SuperWiwi
这个作者很懒,什么都没留下…
展开
-
uv坐标备忘
一旦一个网格是通过定义顶点和索引创建的,它就会对其应用纹理。一个常见的挑战是找到一种将2d纹理映射到3d对象的方法。这里有一种叫做UV映射的技术。UV不是一个缩写,而是代表一对坐标u和v。它们通常用两个foats表示(例如,u=0.0f, v=1.0f),其中0.0f, 0.0f表示纹理位图的左上角,1.0f, 1.0f表示右下角。一个二维UV坐标被分配给顶点列表中的每个顶点,因此定义了纹理的哪个部分映射到3d网格的哪个区域。解释UV映射的一个常见做法是想象一个有六个面的立方体。通过展开这个立方原创 2021-06-04 17:28:28 · 780 阅读 · 0 评论 -
运行时绘制Gizmo——关于unity3D的GL图像库的使用(非常详细)
文章目录GL图象库绘制线实例----绘制曲线(鼠标移动轨迹)绘制四边形绘制三角形绘制3D几何图形GL图象库GL图象库是底层的图象库,主要功能是使用程序来绘制常见的2D与3D几何图形。这些图形具有一定的特殊性,他们不属于3D网格图形,只会以面的形式渲染。使用GL图象库,可在屏幕中绘制2D几何图形,并且该几何图形将永远显示在屏幕当中,不会因为摄象机的移动而改变。2D图形的呈现方式和前面章节介绍的GUI有点类似,值得注意的是,绘制2D图像时,需要使用GL.LoadOrtho()方法将图形映射在平面中;如转载 2020-12-24 21:05:02 · 1621 阅读 · 0 评论 -
CG学习——文章地图
1.文章地图UnityShaderunityshader结构简单法线纹理渐变纹理遮罩纹理透明效果渲染路径不同光源及阴影立方体纹理及其应用渲染纹理程序纹理内置时间变量及其应用屏幕后处理效果(亮度等、边缘检测)屏幕后处理效果(高斯模糊、Bloom、运动模糊)深度和法线纹理(原理)深度和法线纹理(应用)非真实感渲染使用噪声渲染优化技术(分析)渲染优化技术(优化方法)Houdini官方入门教程翻译地形生成概述——建原创 2020-05-18 16:26:46 · 223 阅读 · 0 评论 -
【Houdini官方入门教程翻译】概述——文件管理
文章目录概述项目目录场景文件 | .HIP数字资产 | .HDAHoudini Apprentice 和 Houdini Indie 的文件备份File SOP节点文件依赖路径 [$HIP / $JOB]Pre-flight 面板硬盘空间管理Interoperability(导入导出)概述想要成为一个成功的艺术家,了解如何管理你在Houdini创建的所有文件是非常重要的。一个典型的场景文件可...翻译 2020-04-24 17:54:38 · 4003 阅读 · 0 评论 -
UnityShader学习——渲染优化技术(优化方法)
文章目录CPU一、减少draw call数目1.动态批处理2.静态批处理3.关于共享材质4.批处理的注意事项GPU一、减少需要处理的顶点数目1.优化几何体2.模型的LOD技术3.遮挡剔除二 、减少需要处理的片元数目1.控制绘制顺序2.时刻警惕透明物体3.减少实时光照和阴影三、减少计算复杂度1.Shader的LOD技术2.代码方面的优化3.根据硬件条件进行缩放带宽一、节省带宽1.减少纹理大小2.利用...原创 2020-04-24 15:09:01 · 1142 阅读 · 0 评论 -
UnityShader学习——渲染优化技术(分析)
文章目录引言移动平台的特点影响性能的因素Unity中的渲染分析工具其他性能分析工具引言对问题认识不清以及过度优化往往会让事情变得更加复杂,产生更多的程序错误。然而,如果我们在游戏开发过程中从来都没有考虑优化,那么结果往往是惨不忍睹的。一个正确的做法是,从一开始就把优化当成是游戏设计中的一部分。 和PC相比,移动设备上的GPU有着完全不同的架构设计,它能使用的带宽、功能和其他资源都非常有限。这要...原创 2020-04-24 13:30:52 · 550 阅读 · 0 评论 -
【Houdini官方入门教程翻译】概述——地形和高度场
文章目录概述模板样式(Patterns)噪声(Noise)遮罩/蒙版(Masks)地形侵蚀(Erosion)导出选项(Export Options)概述程序地形生成在Houdini可以使用一组heightfield节点,让你对地形分层,添加噪声和模拟地形侵蚀来定义你的Landscape的外观。这是一个类似于合成的工作流,区别是你操作的是3D形状(Shape)。Houdini提供了各种几何节点...翻译 2020-04-23 22:48:15 · 2356 阅读 · 0 评论 -
【Houdini官方入门教程翻译】概述——UV和纹理贴图
文章目录概述UV Quickshade节点UV Project节点UV Flatten节点UV Edit节点UV Layout节点UDIMSUV 属性(Attributes)概述要使2D纹理适合于3D对象,可以使用UV坐标来定义几何体的平面视图。当你第一次创建任何几何体时,它不会有任何uv。甚至primitive对象也没有任何内置的uv。这意味着您将需要使用一个或多个SOP节点在geometr...翻译 2020-04-23 21:53:04 · 6993 阅读 · 0 评论 -
UnityShader学习——使用噪声
文章目录概述噪声应用1.模拟火焰的消融效果2.模拟水面的波动3.模拟不均匀的飘渺雾效如何生成噪声纹理概述很多时候,向规则的事物里添加一些“杂乱无章”的效果往往会有意想不到的效果。而这些“杂乱无章”的效果来源就是噪声。在本章中,我们将会学习如何使用噪声来模拟各种看似“神奇”的特效。噪声应用1.模拟火焰的消融效果消融(dissolve)效果常见于游戏中的角色死亡、地图烧毁等效果。在这些效果中...原创 2020-04-23 21:00:25 · 1062 阅读 · 1 评论 -
【Houdini官方入门教程翻译】概述——建模工具
文章目录创建几何体多边形建模通用工具节点细分曲面建模加面工具Houdini有很多工具来创建、shape和deform几何体,以实现一个理想的外观。这里只是众多工具中的一小部分,你将在构建几何模型时经常使用。创建几何体要开始创建几何体,您可以从一些基本形状或画一条曲线开始。在每种情况下,您都会得到一个带有geometry/SOP节点的对象,其中包含工具的名称。你可以在Create工具栏或径向菜...翻译 2020-04-22 22:09:12 · 4544 阅读 · 0 评论 -
【Houdini官方入门教程翻译】地形生成(更新ing)
文章目录0.概述1.使用Heightfields来塑造地形01 选择Terrain布局,创建一个高度场02 使用径向菜单,给高度场添加噪声并模糊边缘03 添加高度场扭曲04 添加网络框使得节点树更加可读2.使用地形特征来添加地形遮罩01 使用Mask by Feature节点来创建地形遮罩02 使用Slump节点来创建Flow层03 使用Remap节点重映射flow层高度到某个范围04 保存工程及...翻译 2020-04-22 21:31:26 · 4522 阅读 · 3 评论 -
UnityShader学习——非真实感渲染
文章目录什么是非真实感渲染卡通风格1.渲染轮廓线2.添加高光素描风格什么是非真实感渲染尽管游戏渲染一般都是以照相写实主义(photorealism)作为主要目标,但也有许多游戏使用了非真实感渲染(Non-PhotorealisticRendering , NPR)的方法来渲染游戏画面。非真实感渲染的一个主要目标是,使用一些渲染方法使得画面达到和某些特殊的绘画风格相似的效果,例如卡通、水彩风格等...原创 2020-04-21 18:29:39 · 1340 阅读 · 0 评论 -
【Houdini】模块介绍
Houdini软件产品Houdini的软件产品包括以下几个版本,具体的区别可以在这里查看:HOUDINI COREHOUDINI FXHOUDINI INDIEEDUCATIONAPPRENTICEHoudini工作流程图Houdini和其他三维软件一样,根据工作流程的不同分为几个模块。一般情况下,三维软件的模块是根据流程来划分的。比如按三维工作流程需要建模、动画和材质渲染这几...原创 2020-04-20 23:44:55 · 3268 阅读 · 0 评论 -
UnityShader学习——深度和法线纹理(应用)
文章目录深度和法线纹理应用1.运动模糊2.屏幕雾效3.边缘检测总结深度和法线纹理应用1.运动模糊之前的运动模糊是通过混合多张屏幕图像来模拟运动模糊的效果。但是,另一种应用更加广泛的技术则是使用速度映射图。使用屏幕图像混合的运动模糊使用速度映射图的运动模糊速度映射图中存储了每个像素的速度,然后使用这个速度来决定模糊的方向和大小。速度缓冲的生成有多种方法:把场景中所有物体的速度渲染到...原创 2020-04-20 19:53:33 · 541 阅读 · 1 评论 -
UnityShader学习——深度和法线纹理(原理)
文章目录为什么要用深度和法线纹理?如何获取深度和法线纹理?一、深度纹理实际就是一张存储高精度的深度值的渲染纹理二、在Unity中不同渲染路径获得深度纹理的方法三、在Unity中通过摄像机得到【深度或深度法线纹理】的方法四、获取【深度或深度法线纹理】的具体代码五、采样【深度纹理】的方法六、把纹理采样得到的非线性深度值转为线性七、采样【深度+法线纹理】的方法为什么要用深度和法线纹理?之前的屏幕后处...原创 2020-04-20 15:12:44 · 1191 阅读 · 0 评论 -
UnityShader学习——屏幕后处理效果(高斯模糊、Bloom、运动模糊)
接上篇:UnityShader学习——屏幕后处理效果(亮度等、边缘检测)文章目录3.高斯模糊4.Bloom效果5.运动模糊3.高斯模糊模糊的实现有很多方法,例如均值模糊和中值模糊。均值模糊同样使用了卷积操作,它使用的卷积核中的各个元素值都相等,且相加等于1,也就是说,卷积后得到的像素值是其邻域内各个像素值的平均值。而中值模糊则是选择邻域内对所有像素排序后的中值替换掉原颜色。一个更高级的模糊方...原创 2020-04-19 22:36:33 · 926 阅读 · 0 评论 -
UnityShader学习——屏幕后处理效果(亮度等、边缘检测)
文章目录什么是屏幕后处理Unity实现屏幕后处理的一般流程屏幕后处理基类(检查可用性)什么是屏幕后处理屏幕后处理,顾名思义,通常指的是在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作,实现各种屏幕特效。使用这种技术,可以为游戏画面添加更多的艺术效果,例如景深(Depth of Field)、运动模糊(Motion Blur)等。想要实现屏幕后处理的基础在于得到渲染后的屏幕图像,即抓...原创 2020-04-19 17:51:25 · 815 阅读 · 0 评论 -
UnityShader学习——内置时间变量及其应用
文章目录内置时间变量时间变量应用1.纹理动画(1)序列帧动画:(2)滚动背景:2.顶点动画内置时间变量动画效果往往都是把时间添加到一些变量的计算中,以便在时间变化时画面也可以随之变化。Unity Shader提供了一系列关于时间的内置变量来允许我们方便地在Shader中访问运行时间,实现各种动画效果。表11.1给出了这些内置的时间变量。时间变量应用1.纹理动画纹理动画在游戏中的应用非常...原创 2020-04-18 17:32:06 · 4892 阅读 · 5 评论 -
UnityShader学习——程序纹理
文章目录什么是程序纹理生成程序纹理程序材质什么是程序纹理程序纹理(Procedural Texture)指的是那些由计算机生成的图像,我们通常使用一些特定的算法来创建个性化图案或非常真实的自然元素,例如木头、石子等。使用程序纹理的好处在于我们可以使用各种参数来控制纹理的外观,而这些属性不仅仅是那些颜色属性,甚至可以是完全不同类型的图案属性,这使得我们可以得到更加丰富的动画和视觉效果。生成程序...原创 2020-04-18 11:20:05 · 1400 阅读 · 1 评论 -
UnityShader学习——渲染纹理
文章目录渲染纹理简介渲染纹理应用1.镜子效果2.玻璃效果渲染纹理简介在之前的学习中,一个摄像机的渲染结果会输出到颜色缓冲中,并显示到我们的屏幕上。现代的GPU允许我们把整个三维场景渲染到一个中间缓冲中,即渲染目标纹理(Render TargetTexture, RTT),而不是传统的帧缓冲或后备缓冲(back buffer)。与之相关的是多重渲染目标(Multiple Render Targe...原创 2020-04-18 10:16:45 · 828 阅读 · 0 评论 -
UnityShader学习——立方体纹理及其应用
文章目录立方体纹理立方体纹理应用1.天空盒子2.环境映射(1)反射(2)折射(3)菲涅尔反射立方体纹理立方体纹理的形式:包含了6张图像,这些图像对应了一个立方体的6个面,立方体纹理的名称也由此而来。立方体的每个面表示沿着世界空间下的轴向(上、下、左、右、前、后)观察所得的图像。对立方体纹理采样:需要提供一个三维的纹理坐标,这个三维纹理坐标表示了我们在世界空间下的一个3D方向。这个方向矢量从...原创 2020-04-16 18:55:16 · 695 阅读 · 0 评论 -
UnityShader学习——不同光源及阴影
文章目录不同光源阴影统一光源衰减与阴影透明物体的阴影不同光源最常使用的光源属性:光源的位置光源方向(更具体说就是,到某点的方向)颜色强度衰减(更具体说就是,到某点的衰减,与该点到光源的距离有关)这些属性和光源的几何定义息息相关。光源类型位置方向颜色和强度衰减Unity代码_WorldSpaceLightPos0_LightColor0unit...原创 2020-04-14 17:17:11 · 1297 阅读 · 0 评论 -
UnityShader学习——渲染路径
文章目录渲染路径1.前向渲染路径2.顶点照明渲染路径3.延迟渲染路径4.选择哪个渲染路径?渲染路径指定渲染路径是我们和Unity的底层渲染引擎的一次重要的沟通。例如,如果我们为一个Pass设置了前向渲染路径的标签,随后,我们可以通过Unity提供的内置光照变量来访问这些属性。如果我们没有指定任何渲染路径,那么一些光照变量很可能不会被正确赋值,我们计算出的效果也就很有可能是错误的。以上4种渲...原创 2020-04-14 13:33:52 · 322 阅读 · 0 评论 -
UnityShader学习——透明效果
文章目录原理Unity Shader的渲染顺序分类实现透明度测试透明度混合其他混合双面渲染原理透明是游戏中经常要使用的一种效果。在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha Channel)。当开启透明混合后,当一个物体被渲染到屏幕上时,每个片元除了颜色值和深度值之外,它还有另一个属性——透明度。当透明度为1时,表示该像素是完全不透明的,而当其为0时,则表示该像...原创 2020-04-13 18:20:20 · 879 阅读 · 0 评论 -
UnityShader学习——遮罩纹理
原理简单来讲,遮罩允许我们可以保护某些区域,使它们免于某些修改。例如,在之前的实现中,我们都是把高光反射应用到模型表面的所有地方,即所有的像素都使用同样大小的高光强度和高光指数。但有时,我们希望模型表面某些区域的反光强烈一些,而某些区域弱一些。为了得到更加细腻的效果,我们就可以使用一张遮罩纹理来控制光照。另一种常见的应用是在制作地形材质时需要混合多张图片,例如表现草地的纹理、表现石子的纹理、表...原创 2020-04-13 17:00:02 · 279 阅读 · 0 评论 -
UnityShader学习——渐变纹理
简介渐变纹理的原理简单来说,就是使用diffuse的系数构建一套纹理坐标,从渐变纹理采样颜色。代码实现Shader "ShaderBook/Chapter7/RampMap" { Properties { //物体颜色属性 _Color ("Color Tint", Color) = (1, 1, 1, 1) _RampTex ("Ramp Tex", 2D) = "white...原创 2020-04-13 16:10:53 · 288 阅读 · 0 评论 -
UnityShader学习——简单法线纹理
文章目录简介在世界空间计算在切线空间计算简介纹理的另一种常见的应用就是凹凸映射(bump mapping)。凹凸映射的目的是使用一张纹理来修改模型表面的法线,以便为模型提供更多的细节。这种方法不会真的改变模型的顶点位置,只是让模型看起来好像是“凹凸不平”的,但可以从模型的轮廓处看出“破绽”。(1)有两种主要的方法可以用来进行凹凸映射:高度纹理(height map):模拟表面位移(dis...原创 2020-04-13 15:42:14 · 347 阅读 · 0 评论 -
UnityShader学习——unityshader结构
文章目录基本结构常用写法基本结构代码Shader "ShaderBook/Chapter5/Simpleshader"{ SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag ...原创 2020-04-11 11:41:01 · 244 阅读 · 0 评论 -
Houdini常用快捷键+节点+变量+函数(更新ing)
文章目录常用快捷键:场景视窗普通移动快速恢复视角其他四视图节点网络面板普通移动快速恢复视角整理节点节点相关样式不同路径面板切分常用快捷键:场景视窗普通移动缩放视图:空格+右键 / 空格+鼠标滚轮移动视图:空格+中键进入摄影机状态:Esc (左键旋转)快速恢复视角恢复原始视角:空格+H使在鼠标下的物体移动视窗中心:空格+Z最满显示单个物体:空格+G最满显示所有物体:空格...原创 2020-03-01 22:02:35 · 12145 阅读 · 2 评论 -
【Houdini】安装后,启动黑屏(windows10)
安装后一打开就是这样:16 、17 、18都试了下。免费的、破解的,结果都一样。上网查了查,试着更新了一下显卡驱动,然后这个问题就解决了。更新显卡驱动的方法:打开控制面板点击硬件和声音点击右侧的设备管理器点开显示适配器找到自己的显卡->更新驱动程序选择自动更新...原创 2020-02-28 14:53:21 · 756 阅读 · 0 评论