Commit Graph

12 Commits

Author SHA1 Message Date
SepComet e089619dcf apply depthBuffer 2026-03-20 19:53:08 +08:00
SepComet cc203c40f3 铺垫 DepthBuffer
- 将 Triangle2D 扩展到 Triangle,能支持三维的坐标
- 简单填充了深度缓冲的类实现
- 将 main 中进行测试的正方体的面打散成三角形
2026-03-19 21:00:38 +08:00
SepComet b5f81958df bug fix:正方体遮挡判断问题 2026-03-19 20:12:55 +08:00
SepComet 55a96143fc 添加 Transform 类并应用到 Camera 中 2026-03-19 15:01:53 +08:00
SepComet 858c0b4d59 viewport 视口变换 2026-03-19 14:16:29 +08:00
SepComet 73c1d3a21d add TODO.md 2026-03-16 22:00:52 +08:00
SepComet 4ad6349a59 MVP 变换 + 补全依赖 2026-03-16 16:38:54 +08:00
SepComet d550baa11e view matrix + half projection matrix 2026-03-16 14:30:57 +08:00
SepComet 67e4855211 step2:model + view matrix 2026-03-15 22:18:43 +08:00
SepComet e1dd23131c 完善 SDL 主循环并收紧三角形光栅化边界处理
- 补齐 SDL 纹理的创建与释放流程,避免纹理资源悬空
  - 为主循环加入事件处理,支持通过关闭窗口或按空格正常退出程序
  - 为 FrameBuffer 增加宽高访问接口,供光栅化阶段做屏幕范围裁剪
  - 去掉越界写像素时的逐次错误输出,将其改为静默忽略
  - 将 BoundingBox2D 改为整数像素边界,统一屏幕空间扫描语义
  - 在 Triangle2D 中使用 floor/ceil 生成包围盒,避免浮点顶点直接截断带来的扫描误差
  - 在 TriangleRasterizer 中将包围盒裁剪到 framebuffer 范围内,减少无效遍历
  - 将工程中的 SDL include/lib 路径从绝对路径改为基于 $(ProjectDir) 的相对路径
  - 将仓库根目录的 README.md 纳入 Visual Studio 工程项,便于在 IDE 中查看
2026-03-15 17:01:48 +08:00
SepComet 7bd5d7c13d 重构项目,为后续开发铺路 2026-03-15 16:20:36 +08:00
SepComet bd2f846a34 Step 1:画一个三角形
- 线框三角形(WireTriangle):布雷森汉姆直线算法
- 填充三角形(FillTriangle):包围盒、叉乘法判断点是否在三角形内
2026-03-14 20:34:04 +08:00