计算机图形学

2024/4/12 23:02:10

论文笔记《3D Gaussian Splatting for Real-Time Radiance Field Rendering》

项目地址 原论文 Abstract 最近辐射场方法彻底改变了多图/视频场景捕获的新视角合成。然而取得高视觉质量仍需神经网络花费大量时间训练和渲染,同时最近较快的方法都无可避免地以质量为代价。对于无边界的完整场景(而不是孤立的对象)和 10…

Qt小项目(四):人口信息管理系统(应用ComboBox和PlainTextEdit)

UI 控件属性 属性说明icon.addFile(":/images/icons/aim.ico");//添加图标创建图标对象以及添加图标文件ui->comboBox->addItem(icon,QString::asprintf("Item %d",i));添加combobox的条目&#xff08;带图标&#xff09;strList<<"北京…

【OpenGL实践06】如何读入模型文件obj数据

目录 一、说明二、OBJ文件2.1基础-- 概念2.2 OBJ文件特点 三、OBJ文件 -- 基本结构3.1 文件内注释3.2 文件内容示例3. 3 几何顶点列表3. 4 纹理坐标列表3.5 (x,y,z) 形式的顶点法线列表3.6 (u, [v, w]) 形式的参数空间顶点3.7 多边形面元素&#xff08;见下文&#xff09;3.8 …

计算机图形学 | 实验十:几何纹理(法线贴图)

计算机图形学 | 实验十&#xff1a;几何纹理&#xff08;法线贴图&#xff09; 计算机图形学 | 实验十&#xff1a;几何纹理&#xff08;法线贴图&#xff09;什么是法线贴图为什么需要切线空间加载法线贴图引入切线空间结果 华中科技大学《计算机图形学》课程 MOOC地址&#…

【GAMES202】Real-Time Global Illumination(screen space)1—实时全局光照(屏幕空间)1

一、Real-Time Global Illumination(in 3D cont.) 上篇只介绍了RSM&#xff0c;这里我们还会简要介绍另外两种在3D空间中做全局光照的方法&#xff0c;分别是LPV和VXGI。 1.Light Propagation Volumes (LPV) 首先我们知道Radiance在传播过程中是不会被改变的&#xff0c;这点…

计算机图形软件(三)6-6 小结

小结 这一章概括了图形软件系统的主要特点。某些软件系统&#xff0c;如 CAD 软件包和绘图程序&#xff0c;其为特定应用而设计。另外一些软件系统则提供可以在诸如 C的程序设计语言中使用的一个通用图形子程序库&#xff0c;用来为任何应用生成图片。 ISO和AN…

【《Real-Time Rendering 3rd》 提炼总结】(一) 全书知识点总览

本文由浅墨_毛星云 出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/poem_qianmo/article/details/69849858 一、《Real-Time Rendering 3rd》其书 在实时渲染和计算机图形学领域&#xff0c;《Real-Time Rendering 3rd》这本书一直备受推崇。有…

Qt小项目(二):调色器

UI 代码 #include "widget.h" #include "ui_widget.h" #include "string" Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->red,SIGNAL(valueChanged(int)),this,SLOT(on_all_valu…

《计算机图形学》实验 2

一、实验目的&#xff1a; 1&#xff09; 熟悉 OpenGL 的环境搭建&#xff0c;并可以自行搭建环境&#xff1b; 2&#xff09; 了解并熟悉 OpenGL 程序的设计框架和基本函数&#xff1b; 3&#xff09; 能够根据学习教程自行设计程序&#xff0c;绘制同心圆&#xff1b; 4&…

【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline

本文由浅墨_毛星云 出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/poem_qianmo/article/details/70544201 这篇文章是解析计算机图形学界“九阴真经总纲”一般存在的《Real-Time Rendering 3rd》系列文章的第二篇。将带来RTR3第二章内容“Cha…

基于Qt的交互式操作(对话框)

概述 标准对话框自定义对话框及其应用多窗体应用程序设计MDI应用程序设计Splash与登陆窗口

openGL glMatrixMode()函数介绍

glMatrixMode()函数的参数&#xff0c;这个函数其实就是对接下来要做什么进行一下声明&#xff0c;也就是在要做下一步之前告诉计算机我要对“什么”进行操作了&#xff0c;这个“什么”在glMatrixMode的“()”里的选项(参数)有3种模式: GL_PROJECTION 投影, GL_MODELVIEW 模型…

【GAMES202】Real-Time Ray Tracing 1—实时光线追踪1

一、前言 这篇我们开始新的话题—Real-Time Ray Tracing简称RTRT&#xff0c;也就是实时光线追踪&#xff0c;关于光线追踪&#xff0c;我们已经不止一次提到过它的优点&#xff0c;无论是软阴影还是全局光照&#xff0c;光线追踪都很容易做&#xff0c;唯一的缺点就是速度太慢…

Qt小项目(一):四则运算计算器

UI 代码 #include "widget.h" #include "ui_widget.h" #include "string" Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->zero,SIGNAL(clicked()),this,SLOT(on_all_clicked()))…

CG-3D渲染器-0.1

引言 在学习GAMES101的路上&#xff0c;我总是会心血来潮&#xff0c;想要做出一个3D渲染器。所谓3D渲染器&#xff0c;就是可以加载模型&#xff0c;并且通过调整参数来渲染出不同的视觉效果。最近看视频看到了第9课&#xff0c;想着做个作业&#xff0c;于是通过作业1接触到…

计算机图形学-GAMES101-3

一、transformation-变换 &#xff08;1&#xff09;Scale 缩放变换示意图 图形每个像素对应坐标的计算公式 写成缩放矩阵的形式 非均匀缩放 &#xff08;2&#xff09;Reflection Matrix 镜面变换示意图 图形每个像素对应坐标的计算公式 写成镜像矩阵的形式 …

LearnOpenGL-光照-6.多光源

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录前言例子代码没有聚光灯效果有聚光灯效果前言 此节目的 综合2.5投光物&#xff0c;在此节实现一个场…

计算机图形学-GAMES101-11

显式几何的表示方法 Point Cloud 使用一系列点表示物体的表面。理论上可以表达空间中任何物体。如物体扫描会得到空间中一系列点&#xff0c;但在建模时我们要提取出大量多边形的面。点云对密度要求很高&#xff0c;因此不常使用。 Polygon Mesh 使用三角形表示物体。涉及三…

[计算机图形学]光线追踪前瞻:阴影图(前瞻预习/复习回顾)

一、前言 我们前面学习过了光栅化&#xff0c;而光栅化会有一系列问题&#xff0c;比如&#xff1a;全局的光线传输&#xff0c;阴影。我们之前讲着色的时候说了&#xff0c;我们认为着色是一个局部的操作&#xff0c;我们只考虑着色点本身&#xff0c;并不考虑其它物体的遮挡对…

基于Qt的三维可视化

概述 基于Qt的三维可视化主要有以下几种类型&#xff1a; 三维柱状图三维散点图三维曲面图 具体的实现参见Qt小项目 属性列表

Qt小项目(五):文件操作面板

UI 概述 头文件包含&#xff1a; #include <QDir> #include <QFileDialog> #include <QColorDialog> #include <QPalette> #include <QFont> #include <QFontDialog> #include <QInputDialog> #include &…

计算机图形学-GAMES101-5

一、观测变换 通过Viewing(观测)transformation&#xff0c;最终我们将世界坐标系中的物体投影到了一个xyz都处于【-1,1】的立方体中。那么接下来&#xff0c;我们该做什么&#xff1f; 二、光栅化(Rasterization) &#xff08;1&#xff09;透视投影的定义 定义透视投影的视…

《计算机图形学》实验 5

一、实验目的&#xff1a; 1&#xff09; 理解光照模型&#xff1b; 2&#xff09; 生成带光照模型的图形 二、实验内容 共有三道题目。请根据给定的实验结果样例&#xff0c;结合参考程序设计程序&#xff0c;实现样例的显示效果&#xff0c;把程序代码和实验截图拷贝到实验…

LearnOpenGL-高级OpenGL-5.帧缓冲

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录简单理解帧缓冲创建一个帧缓冲纹理附件渲染缓冲对象附件例子1-渲染到帧缓冲的颜色纹理后期处理例子…

GAMES101-Assignment1

GAMES101-Assignment1 GAMES101-Assignment1 GAMES101-Assignment1CMakeList.txtrasterizer.hppTriangle.hpprasterizer.cppTriangle.cppmain.cppResults 理论详见本人博客&#xff1a;Transformation 文件清单&#xff1a; CMakeList.txt&#xff09;&#xff08;项目配置清单…

OpenGL实战-调试

glGetError() OpenGL文档&#xff0c;可以查询函数出现的错误的对应原因。  默认情况下glGetError只会打印错误数字&#xff0c;如果你不去记忆的话会非常难以理解。通常我们会写一个助手函数来简便地打印出错误字符串以及错误检测函数调用的位置。 GLenum glCheckError_(co…

计算机图形学 | 实验九:纹理贴图和天空盒

计算机图形学 | 实验九&#xff1a;纹理贴图和天空盒 计算机图形学 | 实验九&#xff1a;纹理贴图和天空盒实验概述顶点数据立方体顶点数据天空盒顶点数组 纹理载入创建纹理纹理读取纹理绑定 使用纹理立方体着色器顶点着色器片元着色器 天空盒着色器顶点着色器片元着色器 立方体…

vtk- 数据类型(一) 三角链实例代码

三角链实例代码 #include <iostream> #include <string> #include <regex> #include "tuex.h" #include "vtkCylinderSource.h" #include "vtkPolyDataMapper.h" #include "vtkActor.h" #include "vtkRendere…

【计算机图形学】绘制图形

模块0 绘制图案 一 实验目的 熟悉相关的图形软件的运行环境&#xff0c;掌握图形函数绘制图案的方法&#xff0c;包括图形初始化&#xff0c;画点、线、圆、填充等常用绘图函数二 实验要求 能利用图形函数&#xff0c;正确调试运行程序熟悉网站&#xff08;http://www.easyx…

GAMES101笔记 Lecture05 光栅化1(Triangles)

目录 Perspective Projection(透视投影)Canonical Cube to Screen(从标准立方体到屏幕)What is a screen(什么是屏幕)? Rasterization: Drawing to Raster Displays(如何在光栅设备上画东西)Triangles - Fundamental Shape Primitives(三角形-基本形状的基元)Why triangles?&…

【OpenGL实现 03】纹理贴图原理和实现

目录 一、说明二、纹理贴图原理2.1 纹理融合原理2.2 UV坐标原理 三、生成纹理对象3.1 需要在VAO上绑定纹理坐标3.2 纹理传递3.3 纹理buffer生成 四、代码实现&#xff1a;五、着色器4.1 片段4.2 顶点 五、后记 一、说明 本篇叙述在画出图元的时候&#xff0c;如何贴图纹理图片…

【nerfStudio】5-nerfStudio导出3D Mesh模型

几何图形的导出 在这里我们将介绍如何从nerfstudio中导出点云和网格。您将使用的主要命令是ns-export。我们将点云导出为.ply文件,纹理网格导出为.obj文件。 导出网格 1. TSDF融合 TSDF(截断有符号距离函数)融合是一种使用深度图像提取表面网格的算法。此方法适用于所有…

三维数据Ply格式介绍与读取

三维数据Ply格式介绍与读取 PLY文件格式是在1990年代中期由斯坦福大学的一组研究人员开发的。它已经发展成为最广泛使用的3D数据文件格式之一。该文件格式有ASCII版本和二进制版本。在需要文件大小和处理效率的情况下,首选二进制版本。ASCII版本使得调试变得非常容易。在这里…

GAMES101-Assignment3

GAMES101-Assignment3 参考文章&#xff1a; 1.《GAMES101》作业框架问题详解 2. Games101&#xff1a;作业3&#xff08;管线分析、深度插值、libpng warning、双线性插值等&#xff09; 3.【GAMES101】作业3&#xff08;提高&#xff09;与法线贴图原理和渲染管线框架分析 …

计算机图形学综述(一)

计算机已经成为快速、经济地生成图片的强大工具。实际上已经没有哪个领域不能从使用图形显示中获益&#xff0c;因此也就不奇怪为什么计算机图形学的应用是那么广泛。虽然早期的工程和科学上的应用必须依赖于昂贵而笨重的设备&#xff0c;但是计算机技术的发展已经将交互式计算…

LearnOpenGL-入门-8.坐标系统

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject LearnOpenGL中文官网&#xff1a;https://learnopengl-cn.github.io/ 文章目录坐标系统概述局部空间世界空…

[计算机图形学]几何:网格处理(前瞻预习/复习回顾)

一、前言 网格的三种处理&#xff1a;网格细分&#xff0c;网格简化&#xff0c;网格正则化&#xff0c;细分会产生更多的三角面片来让模型更加光滑&#xff0c;简化则相反会减少网格的三角面片数量&#xff0c;正则化则会让三角形面更加规则。如上图中最右边两幅图&#xff0…

计算机图形学 | 可编程渲染管线

计算机图形学 | 可编程渲染管线计算机图形学 | 可编程渲染管线3.1 从固定到可编程图形编程的发展GPU渲染管线渲染管线的功能流水线中的三个概念阶段3.2 探秘GPU渲染管线GPU渲染管线几何阶段光栅化阶段3.3 着色器编程着色器语言GLSLEBO、VBO和VAO例程华中科技大学《计算机图形学…

[计算机图形学]着色,布林-冯着色模型,着色频率(前瞻预习/复习回顾)

一、前言 到目前为止的前几篇文章已经向大家介绍了从MVP变换到屏幕映射到光栅化的过程&#xff0c;但是仅仅这些还不能让我们很好的模拟真实的世界&#xff0c;究其原因是上面的所有过程都没有涉及光线的运算&#xff0c;而缺少了光也就缺少了明暗的变化&#xff0c;导致渲染出…

[GAMES101]透视投影变换矩阵中为什么需要改变z值

透视投影需要保证&#xff0c;1.变换矩阵内的元素是常数&#xff0c;2.相对深度值不变&#xff08;绝对值不重要&#xff09;&#xff1b;若再加上变换后zNear和zFar平面上的点依旧在zNear和zFar平面上这两个条件&#xff08;实际上并不一定需要满足这两个条件&#xff09;&…

计算机图形学——二维变换

二维变换 概念 应用于对象几何描述并改变其位置、方向或者大小的变换叫做几何变换&#xff0c;有时候也被叫做建模变换。而本文仅讨论平面中的几何变换&#xff0c;即二维变换。 矩阵表示和齐次坐标 对于普通的2x2矩阵&#xff0c;我们总是要将平移项与其它变换对应的矩阵写…

【GAMES202】Real-Time Global Illumination(in 3D)—实时全局光照(3D空间)

一、SH for Glossy transport 1.Diffuse PRT回顾 上篇我们介绍了PRT&#xff0c;并以Diffuse的BRDF作为例子分析了预计算的部分&#xff0c;包括Lighting和Light transport&#xff0c;如上图所示。 包括我们还提到了SH&#xff0c;可以用SH的有限阶近似拟合球面函数&#xff…

OpenGL高级-帧缓冲

效果展示 知识点 颜色缓冲记录帧的颜色值&#xff0c;深度缓冲记录深度信息&#xff0c;模板缓冲允许我们基于一些条件丢弃指定片段。这几种缓冲结合起来叫做帧缓冲(FrameBuffer)&#xff0c;它被储存于内存中。  OpenGL给了我们自己定义帧缓冲的自由&#xff0c;我们可以选择…

计算机图形学 | 搭建OpenGL环境

计算机图形学 | 搭建OpenGL环境搭建OpenGL环境GLFW构建GLFWCMake编译我们的第一个工程链接GLAD华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&#xff08;HUST&#xff09; 搭建OpenGL环境 GLFW 构建GLFW GLFW是一个OpenGL的C语言库&#xff0c;它提…

[计算机图形学]光场,颜色与感知(前瞻预习/复习回顾)

一、Light Field / Lumigraph—光场 1.我们看到的是什么 我们的眼睛能够把3D世界转换为2D的成像信号被我们感知&#xff0c;如上面第一幅图&#xff0c;这就是我们看到整个世界的过程&#xff0c;那么如果我们把之前记录的光的信息都完美的放在一个幕布上&#xff0c;那么我们…

DirectX12_Windows_GameDevelop_3:Direct3D的初始化

引言 查看龙书时发现&#xff0c;第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码&#xff0c;导致你没有一种整体感。如果你把它当作某一块的代码进行学习&#xff0c;你跟着敲会发现&#xff0c;总有几个变量是没有定义的。这…

图形学中的噪声

1 value noise 四个点取随机数然后做插值。 float random (in vec2 st) {return fract(sin(dot(st.xy,vec2(12.9898,78.233)))* 43758.5453123); }float noise (in vec2 st) {vec2 i floor(st);vec2 f fract(st);float a random(i);float b random(i vec2(1.0, 0.0));fl…

计算机图形学——消隐算法

目录 消隐算法 &#xff08;1&#xff09;隐藏线消除算法 &#xff08;2&#xff09;隐藏面消除算法 曲面体消隐算法 3D Mesh 隐藏面消除算法 &#xff08;1&#xff09;深度缓冲器算法&#xff08;zBuffer&#xff09; 深度缓冲器 &#xff08;2&#xff09;深度排序…

计算机图形学-GAMES101-12阴影

Shadow mapping 问题的提出 我们之前在进行着色时&#xff0c;对于每个物体仅考虑自己&#xff0c;而不考虑其他物体对它的影响。限定在光栅化中&#xff0c;如何解决阴影问题呢&#xff1f;阴影能被摄像机看到&#xff0c;但不能被光源所照亮。经典的Shadow mapping只能处理…

CAD软件几何数据存储原理

产品数字化造型基础 节选自《计算机图形学及数字化快速成型》

[计算机图形学入门]专栏完结感想总结

感慨之前我先把目录贴上&#xff1a; 光栅化&#xff1a; [计算机图形学]MVP变换(前瞻预习/复习回顾)__Yhisken的博客-CSDN博客[计算机图形学]光栅化(前瞻预习/复习回顾)__Yhisken的博客-CSDN博客[计算机图形学]反走样(前瞻预习/复习回顾)[计算机图形学]可见性与遮挡,Z-Buffe…

计算机图形学 | 实验六:旋转立方体

计算机图形学 | 实验六&#xff1a;旋转立方体 计算机图形学 | 实验六&#xff1a;旋转立方体Z-缓冲GLM函数库PVM矩阵PVM矩阵的使用 华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&#xff08;HUST&#xff09; 计算机图形学 | 实验六&#xff1a;旋转…

Glut 下载及配置

GLUT库是计算机图形学很有用的第三方库 Glut下载 https://www.opengl.org/resources/libraries/glut/glut_downloads.php#3.6 选择版本 首先点击GLUT 然后选择win32 解压之后有5个文件夹 下面对这几个文件夹进行分配 glut.dll 放在C:\Windows\System32 下&#xff1b;gl…

计算机图形学-GAMES101-7

引言 场景中有很多的三角形&#xff0c;如果实现可见性和遮挡呢&#xff1f;  一个简单的想法是&#xff0c;从远到近画&#xff0c;近处的物体自然会覆盖掉远处的物体&#xff0c;这种画法也叫画家算法。  但是实际绘制中物体的顺序是不容易确定的&#xff0c;比如如下图绘制…

计算机图形学-GAMES101-13

Ray Tracing &#xff08;1&#xff09;为什么使用光线追踪 Ray Tracing 和 Rasterization 是两种不同的成像方式。Rasterization最大的问题&#xff1a;不利于表达全局效果。整体来说光栅化做阴影是比较困难的。Glossy reflection&#xff1a;一种不那么光滑的反射镜面。Ind…

曲线生成 | 图解贝塞尔曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 贝塞尔曲线的应用2 图解贝塞尔曲线3 贝塞尔曲线的性质4 算法仿真4.1 ROS C仿真4.2 Python仿真4.3 Matlab仿真 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规划(图搜索、采样法…

计算机图形学 | 实验五:模型导入

计算机图形学 | 实验五&#xff1a;模型导入计算机图形学 | 实验五&#xff1a;模型导入模型加载库AssimpAssimp简介Assimp构建Mesh && Model 类的创建MeshModel绘制模型华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&#xff08;HUST&#xff…

JavaScript判断点是否在多边形内部并使用Canvas可视化

相关博客&#xff1a;JavaScript判断点是否在三角形内部并使用Canvas可视化_ 一只博客-CSDN博客 本文核心算法参考博客&#xff1a;C 判断点是否在多边形内部的方法_高祥xiang的博客-CSDN博客 我使用JavaScript实现了他的C代码一下&#xff0c;并加了实时修改点位置和可视化的…

《计算机图形学》实验 3

一、实验目的&#xff1a; 1&#xff09; 熟悉并掌握包括平移、比例、对称、旋转、错切在内的五种基本二维几何变换的原理和实现过程&#xff1b;2&#xff09;熟悉并掌握二维符合变换的原理和实现过程&#xff1b;3&#xff09; 掌握 OpenGL 程序关于平移、旋转、缩放、错切变…

输出图元(四)8-2 OpenGL画点函数、OpenGL画线函数

4.3 OpenGL画点函数 要描述一个点的几何要素&#xff0c;我们只需在世界坐标系中指定一个位置。然后该坐标位置和场景中已有的其他几何描述一起被传递给观察子程序。除非指定其他属性值&#xff0c;OpenGL 图元按默认的大小和颜色来显示。默认的图元颜色是白色&#x…

【计算机图形学】直线的两种生成算法(DDA算法、Bresenham算法)

直线的两种生成算法&#xff08;DDA算法、Bresenham算法&#xff09; 文章目录1.计算机绘制直线的原理2.DDA算法的原理与实现&#xff08;基于matlab&#xff09;3.Bresenham算法的原理与实现&#xff08;基于matlab&#xff09;1.计算机绘制直线的原理 在计算机中&#xff0c…

【计算机图形学】 圆的两种生成算法(角度微分法、Bresenham算法)

圆的两种生成算法&#xff08;角度微分法、Bresenham算法&#xff09; 文章目录1.角度微分法的原理2.角度微分法的实现&#xff08;基于matlab&#xff09;3.Bresenham 算法的原理4.Bresenham 算法的实现&#xff08;基于matlab&#xff09;1.角度微分法的原理 圆的角度微分法…

【GAMES101】Lecture04 Transformation Cont. 变换 续集

目录 0 引言1 3D Transformations1.1 缩放和平移变换1.2 旋转变换1.3 Quat 四元数 2 Viewing Transformation 观测变换2.1 View&#xff08;视图&#xff09;/ Camera Transformation 视图变换2.1.1 什么是视图变换2.1.2 如何进行视图变换2.1.3 总结 2.2 Projection&#xff08…

计算机图形学-GAMES101-2

Vectors向量 一、向量的介绍 表示一个方向。计算向量的方法&#xff1a;AB &#xff08;B-A&#xff09;。向量对应的单位向量 AB / ||AB|| 。向量具有平移性&#xff0c;我们不关心它的开始位置。向量求和&#xff1a;三角形法则和平行四边形法则。在代数上计算直接把向量的…

【3维视觉】20230922_网格编码最新进展

网格编码技术研究进展 1. VDMC编码技术 1.1 VDMC介绍 1.1.1 编码对象 具有时变拓扑的动态网格 1.1.2 技术细节 VDMC的编码和解码过程的高层框图如图2所示[4][5]。预处理模块提供了更好的率失真( Rate-Distortion&#xff0c;RD )性能&#xff0c;支持可伸缩解码和渐进传输…

LearnOpenGL-高级光照-1.Blinn-Phong

本人初学者&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 文章目录 高级光照Phong光照的缺点Blinn-Phong介绍例子 GLSL中遇到的BUG 高级光照 Phong光照的缺点 造成Phong光照缺点的两个条件 当物体的高光反光度&#xff08;shiness&#xff09;比较小时 什么是高光…

LearnOpenGL-高级OpenGL-7.高级数据

本人初学者&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 文章目录 高级数据glMapBuffer简单说明&#xff1a;以填充缓冲数据说明 glBufferSubData简单说明&#xff1a;以填充缓冲数据为例实际使用&#xff1a;分批顶点属性 glCopyBufferSubData复制缓冲 高级数据…

LearnOpenGL-光照-5.投光物

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录投光物平行光点光源聚光不平滑的例子平滑例子投光物 前面几节使用的光照都来自于空间中的一个点 即…

[计算机图形学]纹理的高级应用(前瞻预习/复习回顾)

一、前言 上节课我们讲了纹理的放大缩小产生问题后&#xff0c;我们的解决方法&#xff0c;那么纹理是什么呢&#xff1f;在现代GPU中&#xff0c;我们可以理解为是内存范围查询(滤波)&#xff0c;也就是对一块区域做点查询/范围查询&#xff0c;并且做的非常快&#xff0c;也…

初识计算机图形学

初识计算机图形学 笔记来源&#xff1a;【老奇】阴差阳错 撼动世界的游戏引擎 1.MVP Transformation 详见本人博客&#xff1a; 1.Transformation 2.梳理从MVP变换到光栅化的过程 MVP变换将空间中3D物体投影到2D屏幕 2.Rasterization 详见本人博客&#xff1a; 1.Rasteri…

[自学记录06|*Animation]四元数、死锁与方位插值

一、前言 还记得在很久以前不知道什么时候&#xff0c;看到过一个TA的面经&#xff0c;里面提到了四元数和万向锁&#xff0c;当时自己也查了一些资料&#xff0c;但是看的也是云里雾里&#xff0c;恰巧这两天学校的动画原理课讲到了这&#xff0c;打算整理一下做个小结。 二、…

用Java实现可交互的贝塞尔曲线(Bezier curve)

关于贝塞尔曲线的详细数学原理及公式可参考&#xff1a; 贝塞尔曲线_百度百科 我们来谈谈贝塞尔曲线 本文给出了一种用Java实现贝塞尔曲线的方法&#xff0c;并且可以用鼠标拖动改变锚点。 效果演示图&#xff1a; 这里引用百度百科给出的公式&#xff1a; 二次方公式 三次方…

[计算机图形学]光栅化(前瞻预习/复习回顾)

一、前言经过上篇文章&#xff0c;大家已经了解了整个MVP变换的过程&#xff0c;但是正如我前篇所说&#xff0c;在完成了MVP变换之后&#xff0c;我们只是把3D场景变成二维图像的准备工作做完了&#xff0c;而如何把图像“画”在显示器上&#xff0c;还需要进一步的操作&#…

【OpenGL手册13】 光照贴图

目录 一、说明二、漫反射贴图三、镜面光贴图四、采样镜面光贴图练习 一、说明 在上一节中&#xff0c;我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观&#xff0c;但是这仍不能对一个…

输出图元(四)8-1 图元、屏幕坐标、指定二维世界坐标系统

用于图形应用的通用软件包称为计算机图形应用编程接口(CCAPI)它提供可以在C等程序设计语言中用来创建图形的函数库。如第3 章所指出的&#xff0c;函数库可以分成几种类型。创建图形时最先要做的一件事就是要描述显示场景的组成部分。图形的组成部分可以是树木和地形家具和墙壁…

计算机图形学 期末复习 微课版 孔令德 八、真实感图形 期末复习

颜色模型 RGB颜色模型添加一个a(alpha)分量代表透明度&#xff0c;形成RGBA模型。 光照模型 简单光照模型 简单光照模型假定光源为点光源&#xff0c;入射关仅由红、绿、蓝3种不同波长的光组成&#xff1b;物体为非透明物体&#xff0c;物体表面所呈现的颜色仅由反射光决定&…

曲线生成 | 图解三次样条曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是样条&#xff1f;2 三次样条曲线原理2.1 曲线插值2.2 边界条件2.3 系数反解 3 算法仿真3.1 ROS C仿真3.2 Python仿真3.3 Matlab仿真 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细…

【GAMES101】Lecture05 Rasterizaion 1 (Triangles) 光栅化之三角形

目录 0 引言1 MVP后要做什么呢&#xff1f;1.1 MVP是什么1.2 Canonical Cube to Screen 标准立方体到屏幕1.3 Rasterizing Triangles into Pixels 将三角形光栅化为像素 2 Rasterization&#xff1a;Drawing to Raster Display2.1 Polygon Meshes2.2 Triangle Meshes2.3 Triang…

MFC文件载入失败

※尽量不适用中文&#xff0c;各种未知错误&#xff0c;嘿嘿 此方法临时解决问题&#xff0c;可以使程序运行&#xff0c;后续是否还有错误是未知数 需要修改3处位置&#xff1a; 1.资源文件中.rc 右键&#xff0c;点击“查看代码”&#xff0c;找到带中文的资源ID&#xf…

LearnOpenGL-模型加载-1.Assimp介绍与添加到VS项目中

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;[https://github.com/liujianjie/LearnOpenGLProject 文章目录介绍Assimp模型加载库AssimpAssimp生成与使用cmake编译assimp其他项目使用assimp库介绍Assimp 引入…

计算机图形学——openGL的环境搭建

计算机图形学——openGL的环境搭建 这学期选了一门计算机图形学的专业选修课&#xff0c;于是写下这篇博客&#xff0c;记录一下学习内容。 一、openGL搭建 1. 环境&#xff1a;win10 64位 CodeBlocks 2. 所需文件&#xff08;glut.h/glut32.dll/glut32.lib&#xff09; 3.…

光栅化(Rasterization)

MVP复习 1&#xff09;Model transformation(placing objects) 找好一个场景&#xff0c;让人物摆好姿势 2&#xff09;View transformation(placing camera) 放置好照相机 利用camera和物体的相对运动关系&#xff0c;始终让camera从任一位置变换到原点看向-z方向且向上为…

计算机图形学线性代数相关概念

Transformation&#xff08;2D-Model&#xff09; Scale(缩放) [ x ′ y ′ ] [ s 0 0 s ] [ x y ] (等比例缩放) \left[ \begin{matrix} x \\ y \end{matrix} \right] \left[ \begin{matrix} s & 0 \\ 0 & s \end{matrix} \right] \left[ \begin{matrix} x \\ y \en…

实现边坍塌的网格简化方法

一、算法介绍 关于边塌陷的网格简化方法&#xff0c;SIGGRAPH 有一篇97年的论文Surface Simplification Using Quadric Error Metrics&#xff08;Michael&&PaulS&#xff09;对这个问题进行了深入的探讨。作业里的代码就是基于这篇论文来实现的。最为核心的思想就是通…

opencv,opengl,osg,vulkan,webgL,opencL,cuda

OpenCV OpenCV是一个基于BSD许可&#xff08;开源&#xff09;发行的跨平台计算机视觉和机器学习软件库&#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成&#xff0c;同时提供了Python、Ruby、MATLAB等…

【计算机图形学】深入浅出讲解光线追踪(Ray Tracing)

CG基础与光学基础 ▍问自己一句&#xff0c;3D场景为何可以被绘制到2D的画布/屏幕上&#xff1f; emmmmm…没有那么复杂&#xff0c;这几乎是一个纯几何的过程&#xff1a; 透视投影。将三维物体的特征点与眼睛连接成一条线&#xff0c;这条线会穿过画布&#xff08;Canvas&…

【计算机图形学】从0实现光线追踪 · 前篇

写在前面 之前使用 OpenGL/WebGL 进行了图形学的相关学习&#xff0c;并使用 Three.js 搭建了几个3D场景&#xff0c;也实现了几个比较有趣的效果。但是基于库、甚至基于three.js那样大量的实现类&#xff0c;终究是无法深入理解计算机图形学的。   因此&#xff0c;这两篇文…

【计算机图形学】从0实现光线追踪 · 后篇

回顾 在上一节中&#xff0c;我们已经完成了&#xff1a; 架好了相机(Camera)&#xff0c;摆放好场景(Scene)&#xff1b;射出射线、计算交点(IntersectResult)&#xff1b;实现了渲染器(Render)&#xff0c;即将交点信息返回到画布(Canvas)上 接下来&#xff0c;我们将完成&…

[计算机图形学]渲染管线,纹理映射(前瞻预习/复习回顾)

一、渲染管线 目前为止&#xff0c;我们前几篇的介绍当中已经把一个3D场景转换到2D的过程几乎讲完了&#xff0c;而这么一个过程就被称为Real-time Rendering Pipeline也就是实时渲染管线&#xff0c;也就是一个流水线。其中包括顶点的变换&#xff0c;光栅化&#xff0c;片元操…

计算机图形学(光线跟踪)--处理变换后的基本图元方法

对原文&#xff1a;https://blog.csdn.net/libing_zeng/article/details/60160279错误点进行了修改。 椭球面是球面通过仿射变换T得到的。 现在我们的问题是&#xff1a;怎么ray trace变换后的椭球面&#xff1f; &#xff08;先重申一点&#xff1a;经过仿射变换之后&#…

三维变换与投影-计算机图形学

目录 三维变换与投影 三维变换原理 为什么C语言头文件要专门放在一个.h文件中呢&#xff1f; 斜投影原理 介绍一下什么是UGC 入口 透视投影 透视投影坐标系 三维变换与投影 三维变换原理 如何把三维物体投影到两维物体上 齐次坐标 加上一维&#xff0c;方便运算 …

【GAMES202】Real-Time Environment Mapping1—实时环境光照1

一、Distance field soft shadows Inigo Quilez :: computer graphics, mathematics, shaders, fractals, demoscene and more (iquilezles.org) 在开始我们的实时环境光照之前&#xff0c;我们再说一种现在的实现实时软阴影的方式&#xff0c;也就是Distance field soft shado…

实时渲染 -- 纹理(Texture)

纹理映射&#xff08;Texture Mapping&#xff09; 纹理&#xff08;Texture&#xff09; 相当于着色物体的"皮肤"&#xff0c;负责提供基础颜色&#xff0c;而为了方便表示纹理&#xff08;可以想象下&#xff0c;一个3D物体的皮肤其实是可以展开成一张平面&#x…

【计算机图形学】曲线和曲面

模块5 曲线和曲面 一 实验目的 编写曲线和曲面的算法 二 实验内容 1&#xff1a;绘制Bezier曲线&#xff0c;并采用自行设计输入和交互修改数据点的方式。 实验结果如下图所示&#xff1a; 第一步&#xff1a;输入特征多边形的顶点个数&#xff0c;并按照顺序输入顶点的坐…

GAMES101笔记 Lecture03 Transformation

目录 Transoformation(变换)Why stuty transformation(为什么要学习变换呢?)2D transformations(2D变换)Scale transformation(缩放变换)Reflection Matrix(反射矩阵)Shear Matrix(切变矩阵) Rotate transformation(旋转变换)Linear Transforms Matrices(线性变换 矩阵) Hom…

利用OpenGL学习计算机图形学

使用OPENGL &#xff08;Open Graphics Library&#xff09;可以用来进行虚拟模型的渲染&#xff0c;OPENGL一个跨语言、跨平台的图形编程接口&#xff0c;具有2D/3D 建模、坐标变换、交互技术、纹理映射等功能&#xff0c;包含几百个核心函数&#xff0c;通过这些函数可以便捷…

《计算机图形学》实验 4

一、实验目的&#xff1a; 1&#xff09; 三维物体的构建&#xff1b; 2&#xff09; 三视图的生成 二、实验内容 共有三道题目。请根据给定的实验结果样例&#xff0c;结合参考程序设计程序&#xff0c;实现样例的显示效果&#xff0c;把程序代码和实验截图拷贝到实验报告中…

Bresenham画线算法(Three.js实现)

Bresenham算法是一种精确而有效的光栅线生成算法&#xff0c;该算法仅仅使用增量计算。 为了说明该算法&#xff0c;我们先考虑斜率小于1的直线的绘制过程。沿线路径的像素为止由以单位x间隔的取样来确定。从给定线段的左端点(x0,y0)(x_0,y_0)(x0​,y0​)开始&#xff0c;逐步…

【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 · GPU渲染管线与可编程着色器 The Graphics Processing Unit

本文由浅墨_毛星云 出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/poem_qianmo/article/details/71978861 这篇文章是解析计算机图形学界“九阴真经总纲”一般存在的《Real-Time Rendering 3rd》系列文章的第三篇。将带来RTR3第三章内容“Cha…

扫描转换椭圆与圆的绘制

扫描转换椭圆与圆的绘制 前提 我们先来设计一种数据类型 class Point{ public:double x,y;Point(){this->x 0; this->y 0;}Point(double x, double y){this->xx;this->yy;} };注意此处的类型为double这一点很重要&#xff0c;因为在某些迭代过程中设置为int会…

JavaScript判断点是否在三角形内部并使用Canvas可视化

相关博客&#xff1a;JavaScript判断点是否在多边形内部并使用Canvas可视化_ 一只博客-CSDN博客 本文核心算法参考博客&#xff1a;二维平面上判断点是否在三角形内 - tenos - 博客园 (cnblogs.com) 原作者参考了如下资料&#xff0c;使用C写了4个判断方法 判断点是否在三角…

LearnOpenGL-模型加载-2.网格与自定义Mesh类

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录网格自定义Mesh类重点代码讲解初始化函数渲染函数网格 自定义网格类 通过使用Assimp&#xff0c;我…

opencv,opengl,osg,vulkan,webgL,opencL,cuda,osg,vtk,ogre的区别

OpenCV OpenCV是一个基于BSD许可&#xff08;开源&#xff09;发行的跨平台计算机视觉和机器学习软件库&#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成&#xff0c;同时提供了Python、Ruby、MATLAB等…

[计算机图形学]几何:隐式显式表示(前瞻预习/复习回顾)

一、前言 本篇我们将开启GAMES101几何部分的讲解的第一讲解&#xff0c;也是几何的基本表示&#xff0c;现实中有非常多的几何&#xff0c;如布料&#xff0c;绝对光滑的曲面&#xff0c;水滴&#xff0c;毛发&#xff0c;微观的细胞等等非常复杂的几何&#xff0c;那么如何在…

LearnOpenGL-光照-1.颜色

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录颜色OpenGL代码例子颜色 物体颜色简介 我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有…

【openGL4.x手册09】转换反馈

目录 一、说明二、着色器设置2.2 捕获的数据格式2.2 高级交错2.3 双精度和对齐2.4 In-shader规范 三、缓冲区绑定四、反馈过程五、反馈对象5.1 反馈暂停和恢复5.2 绑定暂停的反馈对象。 六、反馈渲染七、局限性 一、说明 转换反馈是捕获由顶点处理步骤生成的基元的过程&#xf…

【openGL4.x手册11】片段着色器

目录 一、说明二、自选三、特别行动四、输入4.1 系统输入 五、输出5.1 输出缓冲区5.2 着色器内规范5.3 预链接规范5.4 自动装配 六、双源混合七、其他输出 一、说明 片段着色器是着色器阶段&#xff0c;用于将光栅化生成的片段处理成一组颜色和单个深度值。片段着色器是基元栅…

LearnOpenGL-高级OpenGL-2.模板测试

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录简单理解模板测试模板介绍模板函数物体轮廓介绍代码给加载的模型添加轮廓简单理解 同深度测试一样…

计算机图形学 | 实验十一:阴影计算

计算机图形学 | 实验十一&#xff1a;阴影计算 计算机图形学 | 实验十一&#xff1a;阴影计算帧缓冲创建一个帧缓冲纹理附件渲染缓冲对象附件总结 阴影映射算法思想深度贴图渲染阴影抗锯齿 assimp库结果 华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&a…

GAMES101笔记 Lecture 01

目录 Overview of Computer Graphics图形学的应用场景Video GamesMoviesAnimationsDesignVisualizationVirtual RealityDigital IllustrationSimulationGraphical User InterfacesTypography 为什么要学习计算机图形学&#xff1f;Fundamental Intellectual Challenges(图形学很…

计算机图形学 | 投影变化

计算机图形学 | 投影变化 计算机图形学 | 投影变化7.1 有趣的投影投影的概念平行投影正投影斜投影 透视投影 7.2 规范化的投影变换观察的要素观察空间规范化的投影变换 华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&#xff08;HUST&#xff09; 计算…

计算机图形学 | 实验十二:混合(透明物体处理)

计算机图形学 | 实验十二&#xff1a;混合&#xff08;透明物体处理&#xff09; 计算机图形学 | 实验十二&#xff1a;混合&#xff08;透明物体处理&#xff09;混合&#xff08;Blending&#xff09;开启混合和设置混合模式绘制顺序排序透明物体绘制实验结果 华中科技大学《…