Mipmap 实现详解:从原理到代码(含数学推导)
在实时渲染中,纹理贴图是赋予模型表面细节的关键技术。然而,当一个带有高分辨率纹理的模型距离摄像机很远,或者以一个倾斜的角度观察时,屏幕上的一个像素可能会对应纹理上的多个纹素(Texel)。如果不进行处理,直接采样会导致严重的摩尔纹(Moiré pat...
在实时渲染中,纹理贴图是赋予模型表面细节的关键技术。然而,当一个带有高分辨率纹理的模型距离摄像机很远,或者以一个倾斜的角度观察时,屏幕上的一个像素可能会对应纹理上的多个纹素(Texel)。如果不进行处理,直接采样会导致严重的摩尔纹(Moiré pat...
实现软光栅化中的透视投影:从基础渲染到深度测试优化在开发软光栅化渲染器时,透视投影是实现真实感渲染的关键一步。本文基于一次代码修改(git diff),详细讲述如何将一个基础的模型渲染系统升级为支持透视投影的渲染管线,包括矩阵变换、深度处理和透视校正...
概述本文档详细记录了在 SoftRasterizer 项目中实现 Camera 类的全过程,包括其设计、核心代码、应用方式以及验证方法。通过该类,我们实现了灵活的相机控制,支持 OpenGL 风格的视图变换。 核心实现1. Camera 类定义123...
概述本文档详细记录了在 SoftRasterizer 项目中实现 diffuse 材质加载的全过程,解决了初始加载失败的问题,使得模型能够正确显示纹理效果。 核心修改1. Texture 类扩展1234567891011121314151617181...
概述本文档详细记录了在SoftRasterizer项目中实现Z-Buffer深度测试的全过程。 核心修改1. 帧缓冲类改造1234567891011121314// 添加深度缓冲区std::vector<float> zBuffer;//...