littlebot
Published on 2025-04-09 / 2 Visits
0

【源码】基于C++和Eigen库的图形渲染系统

项目简介

本项目是基于C++和Eigen库构建的图形渲染系统,专注于实现计算机图形学里的各类渲染任务。项目涵盖三角形光栅化、贝塞尔曲线绘制、光线追踪等多个子任务,涉及图形渲染的多个核心技术。

项目的主要特性和功能

  1. 三角形光栅化:实现基础的三角形光栅化算法,支持顶点处理、模型视图投影变换以及三角形绘制。
  2. 贝塞尔曲线绘制:借助OpenCV库实现贝塞尔曲线绘制,支持用户通过鼠标交互添加控制点。
  3. 光线追踪:实现简单的光线追踪算法,支持反射、折射、漫反射等光照效果,可渲染复杂三维场景。
  4. 矩阵运算:利用Eigen库进行高效矩阵运算,支持视图矩阵、模型矩阵、投影矩阵的计算。
  5. 纹理映射:支持纹理坐标设置和纹理映射,可将纹理应用到几何体表面。

安装使用步骤

环境准备

  • 操作系统:Windows
  • 编译工具:CMake 和 MSVC (Visual Studio)
  • IDE:Clion Nova(可选,方便一键运行)
  • 依赖库:Eigen3, OpenCV

安装步骤

  1. 复制项目: bash cd GAMES101
  2. 配置CMake:
  3. 修改CMakeList中的VCPKG_ROOT为vcpkg的安装目录。
  4. 使用vcpkg安装依赖库: bash vcpkg install eigen3 opencv
  5. 编译项目:
  6. 使用CMake生成项目文件: bash cmake -B build
  7. 编译项目: bash cmake --build build
  8. 运行项目:
  9. 进入编译生成的可执行文件目录,运行相应的可执行文件。

使用说明

  • 三角形光栅化:运行Assignment1中的可执行文件,程序将渲染一个三角形并保存为图像文件。
  • 贝塞尔曲线绘制:运行Assignment4中的可执行文件,通过鼠标点击添加控制点,程序将绘制贝塞尔曲线。
  • 光线追踪:运行Assignment5中的可执行文件,程序将渲染一个包含球体和三角形网格的三维场景,并保存为图像文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】