GAMES101 计算机图形学 | 学习笔记 (上)

有关TAA抗锯齿的简单介绍和在UE4中解决一些简单的抗锯齿问题 具体来说,当图像中的几何形状或颜色值发生变化时,比如线条或物体的边缘,像素值可能会从一种颜色值突然变为另一种颜色值,这时候如果像素的尺寸足够大,锯齿效应就不明显了,但如果像素尺寸变小,比如在高分辨率的显示器上,锯齿效应就会变得明显。这是由于计算机图形学是基于离散化的表示方法,将连续的几何形状或颜色值转换为离散的像素值,导致图像的细节表现不充分,从而出现锯齿。3.高效:这是TAA最大的特点,相比于一些传统的抗锯齿技术,如超采样和多重采样等,TAA的计算开销较小,同时也能够在实时渲染中达到较好的效果。 阅读详情

环境安装

1. C++中安装opencv库

2. C++中安装eigen库

3. C++中安装openGL库 步骤(1)glut下载

4. C++安装openGL库 步骤(2)VS中安装两个NuGet程序包

5. C++安装glew和glfw工具库
要注意的是 glew.h必须包含再glut.h之前。

如下:

#include <glew.h>
#include <GL/glut.h>

什么是计算机图形学

计算机图形学是利用计算机技术进行图像和视觉内容的创建、处理和显示的领域。它包括2D和3D图形,并利用各种技术、算法和工具来生成、修改和渲染图像。
计算机图形学可以分为几个子领域:

  1. 渲染:从3D模型生成逼真或风格化图像的过程,考虑到光照、阴影和其他视觉效果。
  2. 建模:使用数学或几何技术创建物体或场景的数字表示。这涉及到定义物体的形状、结构和属性。
  3. 动画:通过按顺序排列一系列图像或帧来创建运动的错觉。它涉及到关键帧、插值和骨骼动画等技术。
  4. 模拟和虚拟现实:利用计算机图形学来模拟真实世界的现象或创建沉浸式虚拟环境。这包括物理模拟、车辆或环境的虚拟模拟以及交互式虚拟现实体验。
  5. 图像处理:使用算法对数字图像进行操作和增强,以改善质量、去除噪声、提取信息或应用艺术效果。
  6. 计算机视觉:分析和解释视觉数据,提取有意义的信息或理解图像或视频的内容。这包括物体识别、图像分割和运动跟踪等任务。

计算机图形学在各个行业和领域都有应用,包括娱乐(电影、电子游戏)、设计和可视化(建筑、工业设计)、虚拟现实和增强现实、科学模拟、医学成像和数据可视化。它在创建视觉上吸引人和交互式的数字内容方面起着关键作用。

刘利刚教授:计算机图形学主要包含四大部分的内容:建模(Modeling)、渲染(Rendering)、动画(Animation)和人机交互(Human–computer Interaction, HCI)

物体上点的坐标变换顺序

在计算机图形学中,通常使用一系列变换将物体从模型空间(Model Space)变换到最终的屏幕空间(Screen Space)。这些变换的顺序可以根据实际需求进行组合。

在给定的坐标变换顺序"M->V->P"中,M代表模型变换(Model Transformation),V代表视图变换(View Transformation),P代表投影变换(Projection Transformation)。下面是每个变换的解释:

  1. 模型变换(Model Transformation)(M):
    模型变换将物体从模型空间转换到世界空间(World Space)。在这个变换中,物体的位置、旋转和缩放发生变化,以便将物体放置在正确的世界位置和大小。
  2. 视图变换(View Transformation)(V):
    视图变换将物体从世界空间转换到相机或观察者的空间,也称为视口空间(View Space)或眼空间(Eye Space)。这个变换决定了观察者的位置和方向,通过这个变换可以实现摄像机的移动和旋转。
  3. 投影变换(Projection Transformation)(P):
    投影变换将物体从视口空间转换到裁剪空间(Clip Space)。在裁剪空间中,物体被投影为二维坐标,并且应用了透视效果。投影变换可以是透视投影或正交投影,具体取决于所需的效果。

补充 两种投影变换:

  1. 正交投影:正交投影是一种平行投影方式,它将物体投影到一个平行于观察平面的平面上。在正交投影中,物体在不同深度上的点被等比例地缩放到二维平面上,没有透视效果。所有平行线在投影后仍然保持平行,长度和角度都得到保持。这种投影方式常用于需要保持物体尺寸和形状的场景,如工程图和平面设计。

  2. 透视投影:透视投影是模拟人眼视觉效果的投影方式,具有近大远小的效果。在透视投影中,物体在不同深度上的点根据其距离观察者的远近而有所变化。离观察者更远的点在投影中被缩小,离观察者更近的点则被放大。透视投影通过模拟焦点和视角的概念,使投影更贴近真实的视觉感知。这种投影方式常用于计算机图形学中创建逼真的三维场景,如游戏、虚拟现实和电影特效。
    在这里插入图片描述
    左图是透视投影效果
    右图是正交投影效果

齐次坐标

齐次坐标可以将平移也表示为矩阵的乘法操作。
原因:
齐次坐标是一种扩展的坐标系统,由一组三维坐标(x, y, z)和一个额外的缩放因子(w)组成。在齐次坐标系中,一个点的坐标表示为(x, y, z, w)。
平移可以通过将一个点的坐标与平移矩阵相乘来实现。平移矩阵是一个4x4的矩阵,形式如下:
在这里插入图片描述
其中,(tx, ty, tz) 是平移的向量,表示在 x、y、z 方向上的平移距离。

要将一个点的齐次坐标表示转换为三维坐标表示,可以将其除以 w,即:
在这里插入图片描述
这样可以得到点在三维坐标系中的位置。

通过使用齐次坐标和平移矩阵的乘法,可以将平移操作与其他仿射变换(例如旋转、缩放)一起表示为单个矩阵的乘法,从而方便地进行复合变换。

光栅化

光栅化(Rasterization)是计算机图形学中将图形对象转换为屏幕上的像素的过程。
模型都是由一个个三角形组成,光栅化过程,是将三角形离散显示到屏幕的每个像素点。
在这里插入图片描述

如何判定一个点在三角形内

方法一:点在三角形三条逆时针边的左侧。具体运算可以使用P0P1xP0Q、P1P2xP1Q、P2P0xP2Q三者的z坐标是否同符号来判断,同符号则在三角形内。

方法二:点的三角形重心坐标是否都大于0,大于0则在三角形内。请添加图片描述

光栅化填充三角形示例代码

#include <opencv2/opencv.hpp>

int main() {
    // 创建空白图像
    int width = 400;
    int height = 400;
    cv::Mat image(height, width, CV_8UC3, cv::Scalar(0, 0, 0));

    // 三角形的三个顶点
    cv::Point pt1(100, 100);
    cv::Point pt2(300, 100);
    cv::Point pt3(200, 300);

    // 绘制三角形边界
    cv::line(image, pt1, pt2, cv::Scalar(255, 0, 0));
    cv::line(image, pt2, pt3, cv::Scalar(255, 0, 0));
    cv::line(image, pt3, pt1, cv::Scalar(255, 0, 0));

    // 光栅化填充三角形
    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++) {
            cv::Point point(x, y);
            // 使用点在三角形内的判断条件进行填充
            if (cv::pointPolygonTest(std::vector<cv::Point>{pt1, pt2, pt3}, point, false) >= 0) {
                image.at<cv::Vec3b>(y, x) = cv::Vec3b(0, 0, 255);  // 设置像素颜色为红色
            }
        }
    }

    // 显示图像
    cv::imshow("Rasterization Example", image);
    cv::waitKey(0);

    return 0;
}

效果图
在这里插入图片描述

光栅化产生的问题

锯齿严重,所以后面需要抗锯齿Anti-Aliasing

采样不足(欠采样)导致锯齿

抗锯齿的理解:
抗锯齿其实并没有让像素面积更细,而是让像素的颜色不是非0即1,而是取中间的某一个值,从而从宏观上看不会锯齿明显。抗锯齿后,边界看上去会更模糊。
原理解释:

采样不足导致锯齿效应是由于图像或图形的分辨率不足以表示平滑的曲线或边缘所导致的。

在数字图像或计算机图形中,图像是由像素组成的。当图像中的曲线或边缘没有足够的像素来表示其平滑度时,就会出现锯齿状的锯齿边缘,也被称为"锯齿效应"或"走样"。

锯齿效应的主要原因是采样率不足。采样率是指在单位长度或单位角度内所采集的样本或像素数量。当采样率不足时,较光滑的曲线或边缘可能只被几个像素点近似表示,从而导致了锯齿状的边缘。

解决锯齿效应的常见方法之一是增加图像或图形的分辨率,即增加像素的数量。通过增加像素的数量,可以更准确地表示曲线或边缘,减少锯齿状的效果。

此外,还有一些抗锯齿技术可以应用,例如抗锯齿滤波算法,如多重采样抗锯齿(MSAA)、超采样抗锯齿(SSAA)、快速近似抗锯齿(FXAA)、时域抗锯齿(TXAA)等。这些技术通过在渲染过程中对图像进行额外的处理或采样,来减少或抑制锯齿效应的出现。

本来想采样波形,因为采样不足,导致波形周期远大于原始曲线周期。
请添加图片描述

抗锯齿滤波算法

  1. 多重采样抗锯齿(MSAA):多重采样抗锯齿是一种基础的抗锯齿技术。它通过在几何图形的边缘上进行多次采样,然后对采样点进行平均来减少锯齿效应。每个像素点只存储一个颜色样本和一个深度样本,但在像素覆盖的多个采样点上计算颜色和深度。这种方法能够减少锯齿,并在一定程度上保持边缘的平滑性。

openGL实现MSAA抗锯齿算法代码:

#include <GL/glut.h>

void init() {
    // 设置清屏颜色为黑色
    glClearColor(0.0, 0.0, 0.0, 0.0);  
    // 启用深度测试
    glEnable(GL_DEPTH_TEST);
    // 启用多重采样抗锯齿  
    glEnable(GL_MULTISAMPLE);  
}

void display() {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    // 在这里进行绘制操作
    glutSwapBuffers();
}

int main(int argc, char** argv) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_MULTISAMPLE);
    glutInitWindowSize(800, 600);
    glutCreateWindow("OpenGL MSAA Example");

    init();
    glutDisplayFunc(display);

    glutMainLoop();

    return 0;
}

上述示例代码中,通过调用 glEnable(GL_MULTISAMPLE) 启用了多重采样抗锯齿。这将在渲染过程中进行多次采样,并对采样点进行平均以减少锯齿效应。

  1. 超采样抗锯齿(SSAA):超采样抗锯齿是通过渲染比实际输出分辨率更高的图像,然后在将其缩小到实际输出分辨率时减少锯齿效应。它通过在较高分辨率的图像上进行采样,然后使用滤波器对采样结果进行插值,最终得到抗锯齿效果较好的图像。

  2. 快速近似抗锯齿(FXAA):快速近似抗锯齿是一种基于像素的抗锯齿算法。它通过检测边缘和锯齿的特征,并在需要的地方应用模糊和混合来减少锯齿效应。FXAA具有较低的计算成本和较好的效果,常用于实时图形渲染中。

  3. 时域抗锯齿(TXAA):时域抗锯齿是一种结合了多重采样抗锯齿和快速近似抗锯齿的技术。它利用多重采样进行几何边缘的抗锯齿,然后结合时域抗锯齿进行颜色抗锯齿。TXAA通过在时间上对帧进行采样和合成来减少锯齿效应和运动模糊,并提供更平滑的边缘和图像。

图形学中的抗锯齿讨论以及在unity中的应用 对图形学中的抗锯齿做了讨论,并给出unity中的使用方法 阅读详情

相关推荐

GAMES101-现代计算机图形学学习笔记(作业02)

GAMES101-现代计算机图形学学习笔记(作业02) Assignment 02GAMES101-现代计算机图形学学习笔记(作业02)作业作业描述需要补充的函数思路结果 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 在上次作业中,虽然我们在屏幕上画出一个线框三角形,但这看起来并不是 那么的有趣。所以这一次我们继续推进一步——在屏幕上画出一个实心三...

qq_36242312的博客 1万+

图像边缘锯齿及摩尔纹产生的原因

一、什么是Aliasing 1、在camera 效果评测中,当拍摄高频的景物时,会经常看到图像边缘存在锯齿、彩色摩尔纹 (color moire),如下图所示 ; Moire 是aliasing的一种,通常发生在如布料,具有高频特征的物体上面,在高频的表面产生一些低频的纹路,因为是bayer pattern ,所以是带颜色的; 二、Aliasing 产生的原因: 1、采样频率远低于物体信号进来的频率,导致采样失真,出现Aliasing; 以像素而言,最高的采样频率就是一个像素采..

一只特立独行的zhu.. 1万+

GAMES101-现代计算机图形学学习笔记(作业04)

GAMES101-现代计算机图形学学习笔记(作业04) Assignment 04GAMES101-现代计算机图形学学习笔记(作业04)作业作业描述思路 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 BeˊzierBézierBeˊzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中,你需要实 现 deCasteljaude CasteljaudeCasteljau 算法来绘制由 4 个控制点表示的 Bézier 曲线 (当你正确实现该 算法时,你可

qq_36242312的博客 1286

计算机图形学【GAMES-101】2、光栅化(反走样、傅里叶变换、卷积)

Lecture5~6 Rasterization回顾上一课补充Frustum视椎体描述MVP之后应该做什么[-1,1]^3^ to [0,width]x[0,height] 从盒子到屏幕 回顾上一课 补充Frustum视椎体描述 之前立方体的表示方式是:[b,t] [l,r] [f,n]这样的6个平面 如何定义透视投影的相机视椎体? Vertical field-of-view(fovY) and aspect ratio ,通过这两个属性就可以算出其他属性了 如何通过fovY和aspect计算出近平面

记录值得记录的东西 6896

《Games101》计算机图形学学习笔记精华版

简介:计算机图形学是信息科技的一个关键分支,本笔记分享将涵盖基础概念到高级技术,包括二维和三维图形处理、颜色模型、光照原理、图形渲染技术、纹理映射、GPU编程、几何建模、动画和运动学,以及图形API等。这些内容对于游戏开发和相关领域至关重要,目的是让学习者全面深入理解计算机图形学,并为实际项目开发奠定基础。

weixin_30820933的博客 1028

形态抗锯齿技术(MLAA)C++代码

形态抗锯齿技术(Morphological Antialiasing, MLAA)是一种基于图像的后处理过滤技术,这项技术会识别不连续的图案,混合临近图案的颜色,从而有效地执行抗锯齿。它是新一代能抗衡多重采样抗锯齿(Multisample Antialiasing, MSAA) 的实时抗锯齿技术的先驱。此示例基于由英特尔 Alexander Reshetov 在 2009 年提供的原始 MLAA 实施,并进行了改进以大幅提高性能。 系统要求 处理器:建议第二代酷睿i5或更高配置 显卡:DX10型显卡 操作系统:微软的Windows Vista* 或 微软的Windows 7* 内存:2 GB的RAM或更大 软件: DirectX的软件开发套件(SDK)(2010年6月发行版或更新版本) 微软的Visual Studio 2008* 版(带有SP1扩展包) 或 Visual Studio 2010*版

GAMES101学习笔记(一):Overview 计算机图形学概述

Computer Graphics 计算机图形学,即使用计算机合成和操作视觉信息。

qq_39281631的博客 1400

从材料到磁场:ANSYS Workbench永磁体仿真全流程解析

本文详细解析了在ANSYS Workbench中进行永磁体仿真的完整流程。从钕铁硼等永磁材料的特性讲起,逐步指导如何在软件中搭建模型、定义关键磁化方向、设置边界条件与网格划分,并解读磁场分布结果。文章旨在帮助工程师掌握静磁场仿真核心技术,为电机、传感器等设备的设计与优化提供精准指导。

weixin_29229989的博客 272

GAMES101-现代计算机图形学学习笔记(作业03)

GAMES101-现代计算机图形学学习笔记(作业03) Assignment 03GAMES101-现代计算机图形学学习笔记(作业03)作业作业描述思路结果 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 在这次编程任务中,我们会进一步模拟现代图形技术。我们在代码中添加了 Object Loader(用于加载三维模型), Vertex Shader ...

qq_36242312的博客 1万+

手把手调试Altera FPGA远程升级:从ASMI扇区擦除到Remote Update IP配置的避坑实录

本文详细解析了Altera FPGA远程升级的全流程,重点介绍了Cyclone IV系列FPGA的ASMI扇区擦除和Remote Update IP配置的实战技巧。通过双镜像架构设计、ASMI IP核优化配置及Remote Update IP的隐藏参数设置,帮助开发者避免常见陷阱,提升远程升级的可靠性和效率。

weixin_30872499的博客 447

基于APDL语言的结构优化设计

同理,二次微分值称为二阶值。通俗地讲优化分析,指的找到一种方案可以满足所有的设计要求,而且所需的支出(如重量,面积,体积,应力,费用等)最小。设计方案的任何方面都是可以优化的,比如说:尺寸(如厚度),形状(如过渡圆角的大小),支撑位置,制造费用,自然频率,材料特性等。完成分析文件的建立后,就可以进行优化分析了,如果在交互方式下进行优化的话,最好先在ANSYS数据库中用分析文件建立参数,其优点有:初始参数可以作为一阶分析方法的起点,且对于优化过程参数在数据库中可以在GUI下进行操作,便于定义优化变量。

m0_73816777的博客 1174

GAMES101-现代计算机图形学学习笔记(作业01)

GAMES101-现代计算机图形学学习笔记(作业01) Assignment 01GAMES101-现代计算机图形学学习笔记(作业01)作业作业描述需要补充的函数思路结果 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个 点 v0(2.0,0.0,−2.0), v1(0.0,2.0,−...

qq_36242312的博客 8757

【ROS学习笔记】8.话题消息(Message)的定义与使用

ROS学习笔记8——话题消息(Message)的定义与使用

takedachia的博客 9548

GAMES101-现代计算机图形学学习笔记(作业07)

GAMES101-现代计算机图形学学习笔记(作业07) Assignment 07GAMES101-现代计算机图形学学习笔记(作业07)作业作业描述思路结果 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH 等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪版块的最后

qq_36242312的博客 5780

Windows与Linux安装miniconda并启动python项目及指令

官方介绍:Miniconda 是 conda 的免费最小安装程序。它是 Anaconda 的一个小型引导版本,仅​​包含 conda、Python、它们都依赖的包以及少量其他有用的包(例如 pip、zlib 等)。如果您需要更多软件包,请使用该 命令从 Anaconda 公共存储库或其他渠道(例如 conda-forge 或 bioconda)默认提供的数千个软件包中进行安装。minicoda下载地址最好挂个梯子。如果你需要指定版本的conda,可以在这里下载历史版本的miniconda。

一直走的很慢的鸭子 3191

通用、可复用的 AI Skill 开发基本流程

-----name:唯一标识符(建议用领域-功能格式):自然语言描述触发条件(AI 依赖此判断是否激活)tags(可选):便于分类和搜索version:支持后续迭代步骤输出物1. 定范围触发场景描述2. 写元数据name3. 填内容结构化 Markdown 文件4. 做验证可运行 + 符合规范5. 去集成放入对应 IDE 目录6. 持续维护跟进框架更新通过这套流程,你不仅可以开发(Hooks 最佳实践)(原生 WebGL 优化)(Pandas/Numpy 高效写法)

lpfasd123的博客 727

GAMES101-现代计算机图形学学习笔记(02)

GAMES101-现代计算机图形学学习笔记(02) Lecture 02 Review of Linear AlgebraGAMES101-现代计算机图形学学习笔记(02)向量向量定义向量运算向量单位化向量加法的两种表示形式向量乘法矩阵矩阵定义矩阵运算矩阵乘法点乘和叉乘的矩阵乘法表示 今天有幸看到闫老师的现代图形学课程,感觉真的讲得很好,所以决定把自己的一些学习笔记以及课程作业记录下来,希望能和大...

qq_36242312的博客 2087

BW 技术 InfoObject 初始化,一次把 0LANGU、0CURRENCY、0IOBJNM 这些底座对象讲透

摘要:BW/4HANA和S/4HANA嵌入式分析中最容易被忽视的关键技术InfoObject(如0LANGU、0UNIT等)是系统运行的基础骨架。这些对象虽不直接涉及业务,但若未正确激活会导致多维分析、查询运行等核心功能异常。BW/4HANA中应通过任务清单SAP_BW4_SETUP_SIMPLE或SAP_BW4_SET_OPERATION_SCOPE激活,而非旧事务码RSTCO_ADMIN。S/4HANA嵌入式分析仍需依赖这些底层BW组件,配置需参考SAP Note 2636754。项目实践中需特别关注这

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1384

GAMES101-现代计算机图形学学习笔记(07)

GAMES101-现代计算机图形学学习笔记(06) Shading 1 Illumination, Shading and Graphics PipelineGAMES101-现代计算机图形学学习笔记(06)可见性/遮挡画家算法深度缓冲着色频域傅里叶变换滤波卷积相关频域上的采样定义问题如何进行反走样提高采样率先模糊再采样MSAAFXAATAA 原课程视频链接以及官网 b站视频链接: link. 课...

qq_36242312的博客 1661

Flask基础项目:从零到一搭建用户管理系统

本文介绍了一个基于Flask的用户管理系统,具有完整的增删改查功能。系统采用SQLAlchemy ORM进行数据库操作,自动处理SQL注入并首次运行时创建表结构。主要特点包括:实时统计用户总数和平均年龄、智能即时搜索、前后端双重数据验证、邮箱唯一性检查、流畅动画效果和响应式设计。后端使用Flask框架实现RESTful API,前端采用现代化UI设计,支持异步操作不阻塞界面。系统安装简单,只需创建数据库并安装依赖即可运行,适合作为基础用户管理系统的参考实现。

数据知道的博客 3837

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

GAMES101-现代计算机图形学学习笔记(06)

GAMES101-现代计算机图形学学习笔记(06) Lecture 06 Rasterization 2 Antialiasing and Z-BufferingGAMES101-现代计算机图形学学习笔记(06)视点变换确定投影范围正交投影透视投影视口变换屏幕空间屏幕空间的标准化光栅化光栅化设备光栅化三角形为什么选取三角形判断像素是否在三角形内判断的优化 Antialiasing and Z-B...

qq_36242312的博客 2167

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

GAMES101-现代计算机图形学学习笔记(09)

GAMES101-现代计算机图形学学习笔记(09) Shading 3 Texture Mapping cont.GAMES101-现代计算机图形学学习笔记(09)着色(shading)重心坐标纹理映射纹理放缩的问题纹理分辨率过小双线性插值纹理分辨率过大Mipmap各向异性过滤 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 着色(shading) 重心坐标 面积比...

qq_36242312的博客 1668

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

GAMES101-现代计算机图形学学习笔记(14)

GAMES101-现代计算机图形学学习笔记(12) Lecture 14: Ray Tracing 2GAMES101-现代计算机图形学学习笔记(12)AABB 包围盒对光线追踪的加速Uniform gridsSpatial partitions 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. AABB 包围盒对光线追踪的加速 Uniform grids 将场景划分成一个个规整的格子,场景中物体的摆放均匀效果会比较好,相反,场景中物体的位置较为稀疏和无规律,效果较差 Spat

qq_36242312的博客 1036

GAMES101-现代计算机图形学学习笔记(作业06)

GAMES101-现代计算机图形学学习笔记(作业05) Assignment 05GAMES101-现代计算机图形学学习笔记(作业05)作业作业描述思路结果 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 作业 作业描述 在这部分的课程中,我们将专注于使用光线追踪来渲染图像。在光线追踪中最重要的操作之一就是找到光线与物体的交点。一旦找到光线与物体的交点,就可以执行着色并返回像素颜色。在这次作业中,我们需要实现两个部分:光线的生成和光线与三角形的相交。 本次代码的流程为: 从

qq_36242312的博客 1566

阿库娅的计算机图形学学习笔记,Games101篇(第一章)

三分钟热度的笨蛋(我)开始对渲染感兴趣了,进而在视频网站兜兜转转,最后到达了Games101计算机图形学。博主想先进行一次简单的总结。

Kaliaailia的博客 579

GAMES101-现代计算机图形学学习笔记(08)

GAMES101-现代计算机图形学学习笔记(08) Shading 2 Shading, Pipeline and Texture MappingGAMES101-现代计算机图形学学习笔记(08)着色(shading)Blinn-Phong模型高光环境光着色频率 原课程视频链接以及官网 b站视频链接: link. 课程官网链接: link. 着色(shading) Blinn-Phong模型 高光...

qq_36242312的博客 1563
上一篇: Potree | 前端展示点云可视化的框架
下一篇: 重写图片GPS信息
lijiamingccc
博客等级 码龄5年 7091粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lijiamingccc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值