![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
3D渲染
文章平均质量分 57
aa20274270
这个作者很懒,什么都没留下…
展开
-
U3D DrawCall优化手记 (DrawCall与渲染顺序)
对于U3D,我是一个菜鸟,对于U3D的一些东西是一知半解,例如DrawCall,我得到的是一些并不完全正确的信息,例如将N个纹理打包成一个图集,这个图集就只会产生一个DrawCall,如果不打成图集,那么就会有N个DrawCall,这个观点在很多人的认识里都是正确的,因为可以通过简单的操作来验证,但严格来说,这个观点是错误的,因为它还受层级关系影响! 【一】渲染顺序U3D的渲染转载 2015-08-21 17:10:56 · 1911 阅读 · 0 评论 -
个人理解的 纹理压缩
2. 压缩纹理的必要性1)首先要说一下图像文件格式和纹理格式的区别。常用的图像文件格式有BMP,TGA,JPG,GIF,PNG等;常用的纹理格式有R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8, A8R8G8B8等。 文件格式是图像为了存储信息而使用的对信息的特殊编码方式,它存储在磁盘中,或者内存中,但是并不能被GPU所识别,因为以向量计算见长的G原创 2016-12-24 17:51:50 · 2974 阅读 · 0 评论 -
理解 RenderQuere 和 ZWrite 和 ZTest
效果图,红色铁链是一个go,铁链是漏空的,蓝色Cube也是一个Go,cube要在铁链中间,就是上图效果。1. 因为铁链是漏空的,可以理解为透明,透明物体最后渲染,所以,cube先渲染,铁链后渲染。那就是,cube : "Queue"="Geometry" , 铁链:"Queue"="Transparent"2. 因为cube要挡住铁链的后面部分,所以,cube渲染的时候,写深度,ZWrit原创 2016-12-08 11:48:33 · 1146 阅读 · 0 评论 -
理解透明物体渲染
1. 透明物体,一般情况下都是不进行深度入的。因为透明物体都是要进行显示出来的,写了深度会使得透明的物体显示不出来。如果一个物体是在其他物体前面的话,并且是先渲染,并且是写深度的话,那么,后面渲染的物体就渲染不出来了(所有物体都开深度测试)例如,如果A在B的前面(相对于摄像机),A先渲,A写深度,那么,因为A在B的前面,先渲,那么,深度缓冲中记录了A的深度信息,当B准备渲染的时候,B会去进原创 2015-09-25 17:15:48 · 3292 阅读 · 1 评论 -
Unity3D的渲染排序思路
主要的思路就是:场景中有各种各样的物体要渲染,那么渲染排序的意思就是,哪一些物体是先渲染,哪一些跟着渲染,哪一些最后渲染,等等。1.在材质上声明这个物体是什么时候渲染的。例如:enum RenderQueue { RQ_UNKNOW = 0, RQ_BACKGROUND = 1000, RQ_OPAQUE = 3000, RQ_ALPHATEST =原创 2016-09-22 16:28:48 · 2449 阅读 · 0 评论 -
Blinn–Phong Shading Model
参考:http://www.cnblogs.com/bruce81/p/3175721.htmlAlso called Blinn–Phong reflection model or modified Phong reflection model. Trade visual precision for computing efficiency.Default shadin转载 2016-09-21 20:36:53 · 1174 阅读 · 0 评论 -
Lighting with GLSL Phong Model
参考:http://www.ozone3d.net/tutorials/glsl_lighting_phong.php#part_11 - Summary of the Phong Lighting EquationThe final color of the pixel displayed is given by the following equation:If转载 2016-09-21 20:35:50 · 393 阅读 · 0 评论 -
The Basics of Fresnel Shading
I recently stumbled on the awesome article: Everything Has Fresnel (if you haven’t read it, go read it now). The main premise of the article is that real world materials are not actually as neat转载 2016-09-18 17:35:15 · 707 阅读 · 0 评论 -
Animating Water Using Flow Maps
Last week I attended SIGGRAPH 2010, and among the many good presentations, Valve game a talk on the simple water shader they implemented for Left For Dead 2 and Portal 2. So on the plane ride back转载 2016-09-18 15:06:54 · 786 阅读 · 0 评论 -
透明物体的渲染的简单理解
参考:http://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/03%20Blending/如图:如果你仔细看看,就会注意到有些不对劲。前面的窗子透明部分阻塞了后面的。为什么会这样?原因是深度测试在与混合的一同工作时出现了点状况。当写入深度缓冲的时候,深度测试不原创 2016-09-16 14:01:51 · 4671 阅读 · 0 评论 -
模板测试
学习笔记十八:模板缓冲区的使用、镜子的实现 : http://blog.csdn.net/bonchoix/article/details/8499179 模板缓冲区(Stencil Buffer)是一个与后缓冲区(Back Buffer)尺寸一样的离屏缓冲区(Off-Screen Buffer),主要用于实现一些特效。模板缓冲区中的每一个像素Pi,j,与后缓冲区中转载 2015-09-28 16:11:51 · 2469 阅读 · 0 评论 -
BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)
0. Overview包围层次盒(BVH)是一种基于"物体“(object, 区别于“空间”,spatial )的场景管理技术,广泛应用于碰撞检测、射线相交测试之类的应用场合中。一般情况下BVH的性能都比较不错,起码比基于格子(Grid)的场景管理技术要高。 BVH的数据结构其实就是一棵二叉树(Binary Tree)。它有两种节点(Node)类型:Interior Node 和转载 2016-01-02 19:50:10 · 1285 阅读 · 1 评论 -
unity3D drawcall
Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置、法线、UV等),索引(顶点如何组成三角形),变换(就是物体的位置、旋转、缩放、以及摄像机位置等),相关光源,纹理,渲染方式(由材质/Shader决定)等数据准备好,然后通知图形API——或者就简单地看作是通知GPU—转载 2015-08-21 16:56:05 · 621 阅读 · 0 评论 -
纹理映射Mipmap
Mipmap是一个功能强大的纹理技术,它可以提高渲染的性能以及提升场景的视觉质量,它可以用来解决一般纹理贴图出现的两个常见问题:闪烁,当屏幕上被渲染物体的表面与它所应用的纹理图像相比显得非常小时,就会出现闪烁,尤其当相机和物体在移动的时候,这种负面效果更容易出现。性能问题,加载了大量纹理数据之后,还要对其缩小,在屏幕上显示的只是一小部分,纹理越大,所造成的影响越大。Mipmap转载 2017-01-12 12:37:22 · 784 阅读 · 0 评论