Rendering
文章平均质量分 91
拳四郎
拳四郎
展开
-
Muli3D源码分析(1) - 框架概览
Muli3D简介Muli3D是一个平台无关的软渲染库,实现了渲染流水线的特性,代码可读性高,模块性好,很适合去做一些原型或者研究一些新的特性。 编译环境Window 64bitVS2015Muli3D 0.8 https://sourceforge.net/projects/muli3d/用VS2015打开项目,随便找个工程进行编译,爆了下面的error. 链接器工具错误 LNK2026 XXX模原创 2016-08-01 13:18:29 · 2584 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(7) - Non-photorealistic rendering
边缘提取边缘提取有很多种,这里用的是屏幕空间的做法,首先把要提取边缘的物品用纯色绘制到一张rt上,然后用一个一个边缘检测的滤波器在ps中扫一遍。绘制纯色的的psfloat4 ps_main( float4 Diff: COLOR0 ) : COLOR{ return 1;}绘制完之后就像这样 边缘提取的滤波器称为Sobel filter。 边缘提取的ps如下sampler RT;c原创 2017-02-06 00:48:08 · 1542 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(6) - 反射与折射
反射反射在上一篇的HDR中就已经用到了。简单说一下反射发生的原理就是光线打到一个物体的面上之后,一部分光被弹回去的现象,原理如下图 只要知道入射光线和发现,出射光线的方向就可以求出。通过这个方向对天空盒进行采样,就可以得到天空盒上的颜色了。在vs中计算出射光线的方向float4x4 view_proj_matrix;float4 view_position;struct VS_OUTPUT原创 2017-02-06 00:35:51 · 1899 阅读 · 1 评论 -
Shaders for Game Programmers and Artists(5) - HDR
简介颜色用8bit来表示就可以了,但是光强呢?High dynamic range is the science ofrecognizing the different intensity levels of light.Under normal rendering circumstances, wherethe average level of lighting is similar throu原创 2017-02-06 00:21:59 · 1573 阅读 · 0 评论 -
全面认识Depth - 这里有关于Depth的一切
作者:拳四郎链接:https://zhuanlan.zhihu.com/p/25095708来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Depth的由来从PerspectiveProjection 说起所谓的PerspectiveProjection 其实就是将顶点从view 坐标系下,转换到NDC下这里面包含了两个步骤,将view 坐标系下的顶点乘以透视矩阵,转原创 2017-02-05 22:56:12 · 8752 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(4) - 热雾效果
一、原理先看下面的图产生的原理及其就是折射。深入探究的话,可以去搜搜波粒二象性,斯涅尔定律等等。当太阳照射地面的时候,靠近地面的空气会变得很热,热空气比较轻会往上走,冷的空气会往下沉。冷热空气由于有着不同的密度和折射率,就产生了折射现象。下面是折射的示意图这种特效可以用于喷气背包或者火箭升空时候火焰处空气扭曲的效果,也可以用于其他介质比如水或者刀光的处理。二、动手首先给场景添加一个天空球,Stea原创 2016-12-20 00:24:54 · 1771 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(3) - DOF
DOF(景深)最简单的现象就是当你用眼睛聚焦到前景的地方,后面就会变模糊, 当用眼睛聚焦到远景的地方,前就会变模糊,相机也会有同样的情况,通过调节光圈和焦距就很容易出现景深的效果。如果要说景深形成的原理的话,可以用小孔成像来说一天,但是在图形学里面,要做的就一件事 Faking it!镜头前的东西被模糊,远离镜头的东西比较清晰Box filter 过于简单,高斯模糊需要两个pass,这里用一个稍微原创 2016-12-20 00:02:35 · 1144 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(2) - Looking Through a Filter
渲染到 RenderTargetIn RenderMonkey, rendering to a temporary texture can be carried out using something called a render target. Render targets are a technique exposed by the different rendering APIs to a原创 2016-12-19 01:49:18 · 1001 阅读 · 0 评论 -
Shaders for Game Programmers and Artists(1) - First Shaders
一模型纹理加载工程结构如下二 UV动画三原创 2016-12-19 00:29:13 · 1316 阅读 · 0 评论 -
OpenGL进阶(二十一) - 文字渲染
经典文字渲染:位图字体在早期渲染文字时,选择你应用程序的字体(或者创建你自己的字体)来绘制文字是通过将所有用到的文字加载在一张大纹理图中来实现的。这张纹理贴图我们把它叫做位图字体(Bitmap Font),它包含了所有我们想要使用的字符。这些字符被称为字形(Glyph)。每个字形根据他们的编号被放到位图字体中的确切位置,在渲染这些字形的时候根据这些排列规则将他们取出并贴到指定的2D方块中。上图展示原创 2016-10-07 12:02:14 · 11177 阅读 · 1 评论 -
Shaders for Game Programmers and Artists(8) - Fog
简介在水汽充足、微风及大气层稳定的情况下,气温接近零点,相对湿度达到100%时,空气中的水汽便会凝结成细微的水滴悬浮于空中,使地面水平的能见度下降,这种天气现象称为雾。光线在照射到这些小颗粒的时候,方向发生改变,一些光被挡掉了,所有光的强度发生了改变,另一方面本不应该射向观察者的光线射向了观察者。 线性雾/指数雾/对数雾如今的显卡对雾已经有了硬件级别的支持,所以性能上的损耗非常小。通常硬件都会提供原创 2017-02-06 01:01:20 · 2153 阅读 · 1 评论