图形学

2024/4/12 3:47:27

Cmake报错问题解决

各种环境变量没设置 https://www.cnblogs.com/time-is-life/p/7009752.html set(CMAKE_PREFIX_PATH "D:/Qt/Qt5.9.0/5.9/msvc2015_64") set(GLEW_INCLUDE_DIRS "D:/GL/glew-1.9.0/include") set(GLEW_LIBRARIES "D:/GL/glew-1.9.0/lib")// 这…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 22 Animation Cont 学习笔记【完结】

Lecture 22 Animation Cont 一、Single particle simulation First study motion of a single particle Later, generalize to a multitude of particles To start, assume motion of particle determined by a velocity vector field that is a function of position and …

URP打包安卓到花屏问题

https://blog.uwa4d.com/archives/TechSharing_198.html https://blog.uwa4d.com/archives/UWA_GOLOverview.html // GPU性能测试 用到了renderfeature,发现打包到安卓真机上会出现花屏,网上搜资料说是Don‘ care的问题,有点地方还真的可不能…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 06 Rasterization 2 (Antialiasing and Z-Buffering) 学习笔记

Lecture 06 Rasterization 2 (Antialiasing and Z-Buffering) (一)、Aliasing and Antialiasing 在上一讲我们做完采样工作以后,得到了如下图左边的图片,将所有红点所在的像素填充颜色后,我们得到了中间的图片&#…

Qt常用界面设计组件

概述 组件说明QLable标签:显示字符串QLineEdit单行输入框:显示和输入字符串SpinBox可以设置属性的输入框Slider滑动条ScrollBar卷滚条ProgressBar进度条Dial表盘LCDNunberLCD显示屏时间和定时器QComboBox和QPlainTextEditQListWidget和QToolButtonQTree…

Unity 关于透视投影视口变换

https://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/projection-matrix-GPU-rendering-pipeline-clipping unity里的有个computeScreenPos的实现 float4 ComputeScreenPos(float4 positionCS) {float4 o positionCS *…

.Net ODB++解读 绘图(五)

改了一下层别显示,和重绘不刷新功能. 后续加入量测和多层叠加显示功能.

GAMES101-现代计算机图形学入门-闫令琪——Lecture 15 Ray Tracing 3 学习笔记

Lecture 15 Ray Tracing 3 (一)、Radiometry Measurement system and units for illumination Accurately measure the spatial properties of light –New terms: Radiant flux, intensity, irradiance, radiance Perform lighting calculations i…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 17 Materials and Appearances 学习笔记

Lecture 17 Materials and Appearances 一、Material BRDF 1、Diffuse / Lambertian Material Light is equally reflected in each output direction 这个材质是漫反射 Suppose the incident lighting is uniform: 我们假设物体是白色的,不吸收能量&#xff0…

网格简化 二 、QEM算法

简化算法的误差测度(度量质量和误差) 误差测度用于度量模型简化的质量和误差,因此它对模型的简化过程和最后的简化结果都具有重要的影响。大多数简化算法采用对象空间(Object-space)的一种或综合几种形式的几何误差(Geometric errors)作为误…

GAMES101学习笔记(Lecture3-4)

该笔记基于闫令琪大神的GAMES101课程及课后作业总结而成 目录 仿射变换 mvp变换 正交投影 透射投影 three-dimensional Euclidean space 三维欧氏空间 在伸缩,旋转后, 发现无法通过同维度的矩阵体现平移, 所以引入齐次方程 ​ 为了不把"平移变换"当做整个体系中…

.NET ODB++ PCB图形文件解读(三)

最近工作不忙,抽空完善了一下. 以下为genesis2000和.net 绘图对比

GAMES101-现代计算机图形学入门-闫令琪——Lecture 21 Animation 学习笔记

Lecture 21 Animation “Bring things to life” Communication toolAesthetic issues often dominate technical issues An extension of modeling Represent scene models as a function of time Output: sequence of images that when viewed sequentially provide a s…

计算机图形学笔记二:MVP变换

视图变换1.模型变换(Model Transformtion)2.视图变换(View Transformation)3.投影变换(Project Transformation)3.1正交投影(Orthographic projection)3.2透视投影(Persp…

计算机图形学笔记十三:Ray Tracing3(辐射度量学,渲染方程)

辐射度量学,渲染方程1.辐射度量学(Basic Radiometry)1.1基本属性1.2辐射强度(Radiant Intensity)1.3辐射照度(Irradiance)1.4辐射亮度(Radiance)2.渲染方程2.1双向反射分…

网格简化 一、 常见减面算法简介

因为最近公司的项目需要所以研究了一下减面,因为之前减面是调用的第三方的api基于别人的平台所以公司现在想自己做一个出来。不过一句话没有最优的算法都是看需求来的,而且往往还是需要与LOD相互结合起来的~ 网格简化可以减少网格的三角片数量&#xff…

计算机图形学笔记四:光栅化(抗锯齿,反走样)

光栅化(抗锯齿,反走样)1.认识采样(Sampling)1.1什么是锯齿?1.2实际中的采样1.3采样错误的类型2.认识走样(Aliasing Error)2.1反走样基本思路2.2频域(Frequency Domain&am…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 09 Shading 3 (Texture Mapping ) 学习笔记

Lecture 09 Shading 3 (Texture Mapping ) Different Colors at Different Places? 假设有两个光源照到一个球上,这个球上面有不同的颜色,也就是说kd的值不同,我们希望能用一种方式,定义这个球上每一个顶点的属性。因此引入纹理…

计算机图形学笔记十二:Ray Tracing2(AABB加速光线追踪)

AABB加速光线追踪1.包围盒(Bounding Volumes)1.1轴对齐包围盒Axis-Aligned Bounding Box (AABB)1.2AABB计算交点的具体步骤2.AABB加速光线追踪2.1均匀空间划分2.2空间划分(KD-Tree)2.2.1 KD-Tree2.3对物体划分&#xf…

再谈water效果

先上效果图,一步一步拆解开: (1)焦散 (2)水的颜色深浅的插值 (3)随着视角和相机的远近,会有一个圆圈的红色(这是自己设置的菲涅尔颜色,请留意一下) (4)反…

球谐函数实现环境光照漫反射实践

该文章以及代码主要来自 图形学论文解析与复现:【论文复现】An Efficient Representation for Irradiance Environment Maps 作者:Monica的小甜甜 与原文的不同: 对一些有问题的地方进行了修改添加了注释对有疑问的地方添加了疑问点引入了其…

Unity开关layermask

其实就是二进制运算 原理 1与0、1进行或(|)运算 1 0与0、1进行与(&)运算 0 代码 // 打开fx forwardRendererdata.transparentLayerMask | 1 << LayerMask.NameToLayer("FX");// 关闭fx forwardRendererdata.transparentLayerMask & ~(1 << …

GAMES101-现代计算机图形学入门-闫令琪——Lecture 03 Transformation 学习笔记

Lecture 03 Transformation 一、2D transformations &#xff08;一&#xff09;、Representing transformations using matrices 1、Scale (Non-Uniform) Matrix 2、Reflection Matrix ​ 3、Shear Matrix ​ 4、Rotation Matrix 旋转矩阵的推导过程&#xff1a; 同理…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 14 Ray Tracing 2(Acceleration) 学习笔记

Lecture 14 Ray Tracing 2&#xff08;Acceleration&#xff09; Using AABBs to accelerate ray tracing Uniform gridsSpatial partitions 在上节课的最后我们已经讲清楚了如何用AABB包围盒与光线求交。在这节课我们就继续上节课的思路&#xff0c;去探索如何加快包围盒与…

QEM网格简化算法学习

《Surface Simplification Using Quadric Error Metrics》这篇论文介绍了一种网格简化的算法&#xff0c;通过“edge contraction”&#xff08;边收缩&#xff09;的方法来简化网格。边收缩的结果就是将两个顶点合成一个顶点&#xff0c;因此可以按照任意的顶点数目去简化网格…

GAMES202-高质量实时渲染-闫令琪——Lecture 2:Recap of CG Basics 学习笔记

Lecture 2:Recap of CG Basics Recap of CG Basics Basic GPU hardware pipelineOpenGLOpenGL Shading Language (GLSL)The Rendering Equation 一、Graphics (Hardware) Pipeline Input: vertices in 3D space&#xff1a;任何物体在3D空间中都会被表示成点以及点的连接关系…

画球大师教你如何画好一个球

作者 | 翁鹏42如何画个球&#xff1f;好像 JS 和 CSS 并没有提供这个能力&#xff0c;当然也不可能为了画个球引入 Threejs。这篇文章将介绍 4 种画球的方法&#xff0c;每种方法都有不同的特点&#xff0c;生成球的数据可以使用任何方式渲染&#xff0c;可以在 canvas 中渲染&…

osg osgb osgt格式

osg、其中osgb是osg的二进制格式&#xff1b;osgt格式是 如下官网解释&#xff1a; OSGT file is an OpenSceneGraph ASCII Scene Data. The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visua…

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

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

Unity shader build 打包android和PC机显示效果不一样

做了一个次表面皮肤SSSS效果&#xff0c;发现PC正常&#xff0c;打包到andoird机上这个功能就消失了&#xff0c;很奇怪&#xff0c;下面写一个一一排除的过程 CPU代码方面 一开始以为是rendertexture dont care的问题&#xff0c;后来发现并不是这个问题&#xff0c;因为我是…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 20 Light Fields,Color and Perception 学习笔记

Lecture 20 Light Fields&#xff0c;Color and Perception 一、Light Field / Lumigraph 1、The Plenoptic Function&#xff08;全光函数&#xff09; 人看到前面的三维世界场景&#xff0c;通过给人前方加上一块幕布&#xff0c;让幕布上显示的就是前面的场景&#xff0c;…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 12 Geometry 3 学习笔记

Lecture 12 Geometry 3 Mesh Operations: Geometry Processing Mesh subdivisionMesh simplificationMesh regularization ①、Mesh Subdivision (upsampling) Increase resolution 网格细分。通过增加三角形面数来得到更加平滑的效果。 ②、Mesh Simplification (downsamp…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 04 Transformation Cont 学习笔记

Lecture 04 Transformation Cont 一、3D transformations 1、General Introduction Use homogeneous coordinates again: 3D point (x, y, z, 1)T3D vector (x, y, z, 0)T In general, (x, y, z, w) (w ! 0) is the 3D point: ​ (x/w, y/w, z/w&#xff09; 在3D里同…

计算机图形学N次Bezier曲线绘制的理解及代码(基于OpenGL和vc)

二次Bezier曲线 三次Bezier曲线 n次Bezier曲线 的函数 double B(int n,int i,float t){int sum1;if(in||i0) return pow(t,i)*pow(1-t,n-i);int j;for(jn-i1;j<n;j)sum*j;for(j1;j<i;j)sum/j;return sum*pow(t,i)*pow(1-t,n-i); } 主要步骤&#xff1a; 1.通过init()函…

Unity 关于双叶高光(Dual lobe Specular)

Next-Generation Character Rendering https://leegoonz.blog/2020/08/24/dual-lobe-for-skin-shader-by-urp/ 其实就是模拟了高频信息 现在粗糙度的那张贴图只需要画低频信息就行了 代码引用自 leegoonz 完整实现UE4里也有&#xff0c; leegoonz大佬应该是做了优化 这里我也…

Lod解决方案 Level of Detail Solutions

https://www.bilibili.com/video/BV1YK4y1T7yY?p14 games202 Cascaded Shadpw maps (级联阴影) 物体的lod

计算机图形学笔记六:Shading 1(光照和三种反射)

Shading 1&#xff08;光照与基本着色模型&#xff09;1.认识着色&#xff08;Shading&#xff09;2.Blinn - Phong着色模型3.着色点的光照4.漫反射&#xff08;Diffuse Reflection&#xff09;4.1漫反射原理4.2物体接受光线能量的方式4.3光衰减&#xff08;Light Falloff&…

关于延迟渲染 Deferred Shading

https://www.bilibili.com/video/BV1YK4y1T7yY?p14 前向渲染 延迟渲染 Tiled Shading Clustered Shading

URP renderfeature depth buffer为空的问题 depthattachment

花了我两天的时间才解决这个问题&#xff0c;记录下问题经过 起因 项目需要改渲染管线&#xff0c;在后处理之前插入一个后处理&#xff0c;然后特效再单独处理 过程 这里特效需要做深度测试&#xff0c;然后我用URP PostprocessPass抄来的代码发现depthbuffer丢失&#xff…

计算机图形学笔记五:光栅化(消隐算法)和 前几节内容总结

消隐算法和前几节内容总结1.消隐算法1.1画家算法&#xff08;Painter’s Algorithm&#xff09;1.2 Z-Buffer算法2.前几节内容总结1.消隐算法 1.1画家算法&#xff08;Painter’s Algorithm&#xff09; 把要呈现的图像按照从远到近的顺序&#xff0c;将各层图绘制出来&#…

GAMES101学习笔记(Lecture6抗锯齿与一点点深度缓存)

走样 同一个采样频率对不同频率信号获取了同样的信息&#xff0c;使得我们无法区分 从频率的角度来看可以这样理解 采样: 重复原始信号的频谱 走样: 频谱在搬移时发生了混叠 如何反走样? 可以先模糊(通过卷积,去除高频信号),再采样 常用的几种抗锯齿方法 多重采样抗锯齿(Multi…

GAMES101学习笔记(Lecture7~9 初学shading)

Specular highlights 镜面高光 Diffuse reflection 漫反射 Ambient lighting 环境照明 物体表面的漫反射所呈现出的效果 光通量看作不变的时候, 物体表面接收到的光线数量与角度有关 并且有能量守恒(远处能量衰减) 得出与视点方向无关的着色方式(n,l均为单位向量) Kd为与漫反射…

关于TAA SMAA

https://www.bilibili.com/video/BV1YK4y1T7yY?p14 还有 MSAA SSAA TAA 如图 其实就是增加采样量&#xff0c;求平均 矢量化 注意 G-buffers should never be anti-aliased Gbuffer是不能反走样的&#xff0c;只有图像才可以&#xff0c;否则就不准确了 DLSS

GAMES101-现代计算机图形学入门-闫令琪——Lecture 08 Shading 2 (Shading, Pipeline) 学习笔记

Lecture 08 Shading 2 (Shading, Pipeline) &#xff08;一&#xff09;、Blinn-Phong Reflection Model 1、Specular Term (Blinn-Phong) Intensity depends on view direction Bright near mirror reflection direction 我们能看到高光的原因是镜面反射的方向和观察方向大…

两种不同的PBR工作流介绍

本文介绍两种常用的PBR材质工作流&#xff1a;金属/粗糙度工作流&#xff08;Metal/Roughness&#xff09;和镜面反射/光泽度工作流&#xff08;Specular/Glossiness&#xff09;。这两种工作流都可以用来制作一个支持PBR的材质&#xff0c;并用PBR渲染出逼真的效果&#xff0c…

二维图形变换

二维图形变换 一&#xff0e;目的&#xff1a; 1&#xff0e;了解不同的二维坐标变换公式。 2&#xff0e;掌握二维坐标变换公式的使用方法。 3&#xff0e;掌握二维图形的基本几何变换&#xff1a;平移、旋转和缩放。 二&#xff0e;要求&#xff1a; 1&#xff0e;在屏幕上绘…

使用Ray Marching进行3D渲染

要使用Ray Marching渲染 3D 场景&#xff0c;我们需要为每个像素发射一条光线。通过选择屏幕上的一个点&#xff08;一个像素&#xff09;&#xff0c;并从视点绘制一条射线&#xff0c;我们可以确定它是否击中一个对象&#xff0c;并决定应该在该像素上绘制什么。使用着色器&a…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 19 Cameras and Lenses 学习笔记

Lecture 19 Cameras and Lenses 一、Camera 1、Pinhole Image Formation 最早的相机是从小孔成像开始的。 2、Important Parts &#xff08;1&#xff09;、Shutter Exposes Sensor For Precise Duration 快门&#xff0c;控制光能在相机中待多长时间。&#xff08;光在1/x…

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

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

GAMES101-现代计算机图形学入门-闫令琪——Lecture 02 Review of Linear Algebra 学习笔记

Lecture 01 Overview of Computer Graphics 现代计算机图形学的应用 Lecture 02 Review of Linear Algebra 一、Vector Multiplication &#xff08;一&#xff09;、Dot&#xff08;scalar&#xff09; Product 1、The Basic Definition of The Dot Product The basic de…

基于兰伯特漫反射的色散(Dispersion)效果解析

本文分享基于兰伯特漫反射的色散(Dispersion)效果解析 我们知道, 兰伯特漫反射可以表现渐变的明暗效果, 而这种明暗效果可以结合一些手段来实现很多有意思的效果, 今天就给大家介绍其中一种. 先看看最终效果: 效果解析 可以看到, 颜色分布由暗到明, 分别是: 黑色->蓝色-&…

PBR原理篇

文章目录前言1. 概览渲染方程&#xff08;Render Equation&#xff09;反射等式&#xff08;Reflectance Equation&#xff09;反射率方程&#xff1a;Cook-Torrance反射率方程&#xff1a;判断PBR的标准2. 辐射度量学辐射能量、辐射通量与立体角辐射强度、辐照度与辐射率3. 光…

UnityShader-基础纹理

单张纹理 单张纹理&#xff1a; 使用一张纹理来代替物体的漫反射颜色&#xff0c;通过tex2D内置函数来对纹理进行采样。 关键代码如下&#xff1a; fixed3 albedo tex2D(_MainTex, i.uv).rgb * _Color.rgb; Shader "cc/shader9" &#xff5b;Properties &#xff5b…

UnityShader-基础光照模型

文章目录标准光照模型环境光与自发光漫反射高光反射Phong和Blinn-Phong光照模型标准光照模型 自发光&#xff1a; 描述给定一个方向时&#xff0c;模型表面会向这个方向发射多少辐射量高光反射&#xff1a; 描述光线从光源照到物体表面时&#xff0c;会向完全镜面反射方向发射多…

DirectX-Specs 学习系列 (1) :HLSL Shader Mode

0. 简介 图形软件栈分为两个流派&#xff1a;Windows & Khronos. Windows 流派使用的shader语言是HLSL , HLSL 在迭代更新的过程中使用Shader Model x.0号代表其所支持的功能 , 目前有SM1.0~SM6.0共6个版本&#xff0c;具体可参阅文献1. 本系列文献关注HLSL SM6.0以后的Fe…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 07 Shading 1 (Illumination, Shading and Graphics Pipeline) 学习笔记

Lecture 07 Shading 1 (Illumination, Shading and Graphics Pipeline) &#xff08;一&#xff09;、What we’ve done What We’ve Covered So Far 把模型通过某种变换&#xff0c;变换成相应姿势把摄像机始终放在&#xff08;0,0,0&#xff09;往-z看投影变换光栅化 Rota…

【计算机图形学】结课大作业——三维场景变换(ASCII表)

效果 >_< 技术栈 【前端】HTML / CSS / JavaScript【图形学】WebGL / Three.js 思路 three.js开发一般是比较套路的——init() animate() init()时把所有的场景摆放好animate()就是一个递归调用的渲染过程。 如何实现ASCII码图形的静态排列和动态变化&#xff1…

【计算机图形学】入门Three.js,并搭建你的第一个3D场景

什么是Three.js&#xff1f; WebGL&#xff08;Web Graphics Library&#xff09;是一种3D绘图协议&#xff0c;这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起&#xff0c;通过增加OpenGL ES 2.0的一个JavaScript绑定&#xff0c;WebGL可以为HTML5 Canvas提供硬件…

WebGPU学习(8)---使用RenderBundle

RenderBundle是什么 通常情况下&#xff0c;WebGPU每次绘制时都需要向RenderPassEncoder注册渲染命令。处理此绘图命令比 WebGL 内部执行的类似处理更快。但是&#xff0c;如果可以省略此命令注册过程&#xff0c;则可以能够更快地绘制。RenderBundle 就是实现这一点的。 Ren…

Learn OpenGL 笔记2.9 - Camera

基础知识&#xff1a; 1.Camera/View space 创建一个以相机位置为原点的具有 3 个垂直单位轴的坐标系。 2.Look At 使用这3 个方向轴加上一个位置向量创建一个矩阵&#xff0c;并且您可以通过乘以将任何向量转换这个矩阵。 这正是 LookAt 矩阵所做的&#xff0c;现在我们有…

图形学基础 | 高级光照模型 Blinn-Phong

当光线打到一个物体上时&#xff0c;靠近光源的地方会显示物体原本的颜色的亮色&#xff0c;当物体比较光滑时还会出现高光&#xff0c;距光源越远就会越暗&#xff0c;直至变的一片漆黑&#xff0c;当然现实生活中物体背光面并不会是一片漆黑&#xff0c;光线还会在空间中的其…

水也有排序规则,太牛了!(干货收藏)

Water Sort Puzzle!效果这次咱们来实现杯子倾斜中的水面效果。效果预览:视频预览:实现首先&#xff0c;简化模型&#xff0c;杯子当作长方形处理&#xff0c;仅考虑杯子旋转范围-90 ~ 90度。水面渲染可采用graphics绘图组件处理(把原点移动至杯子左下角作为原点)&#xff0c;再…

3D人体模型自动生成算法,连肌肉颤动都清晰可见!一作来自北大图灵班

子豪 发自 凹非寺量子位 报道 | 公众号 QbitAI我们在打游戏、看动漫的时候&#xff0c;遇到过不少这样的情况&#xff1a;感觉哪里不太对……现在&#xff0c;这些3D人体模型可以得到改进了~体态更逼真、褶皱更自然、肌肉更饱满&#xff1a;连情绪都显得更投入了……甚至肌肉颤…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 10 Geometry 1 (Introduction) 学习笔记

Lecture 10 Geometry 1 (Introduction) Many Ways to Represent Geometry Implicit algebraic surfacelevel setsdistance functions… Explicit point cloudpolygon meshsubdivision, NURBS… Each choice best suited to a different task/type of geometry &#xff…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 11 Geometry 2 (Curves and Surfaces) 学习笔记

Lecture 11 Geometry 2 (Curves and Surfaces) &#xff08;一&#xff09;、Bzier Curves 1、Evaluating Bzier Curves (de Casteljau Algorithm) 以三点的贝塞尔曲线举例 ①、Consider three points (quadratic Bezier) 首先这条线一定要从b0开始&#xff0c;到b2结束。b…

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

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

GAMES101-现代计算机图形学入门-闫令琪——Lecture 13 Ray Tracing 1(Whitted-Style Ray Tracing) 学习笔记

Lecture 13 Ray Tracing 1(Whitted-Style Ray Tracing) Why Ray Tracing? Rasterization couldn’t handle global effects well ​ --(Soft) shadows ​ --And especially when the light bounces more than once Rasterization is fast, but quality is relatively low …

Three.js+pcl.js 实现Web端的点云处理+显示

1 功能实现 在前面我们实现了PCD的加载器的基础上&#xff0c;这次将加上 pcl.js —— 著名的PCL库的web版本&#xff0c;详情见https://pcl.js.org/&#xff0c;来处理我们加载上去的点云。 具体实现如下&#xff1a; 用户可以通过每个板块的右上角进行处理前 / 后的切换&am…

二维图形视见与裁剪

二维图形视见与裁剪 一&#xff0e;目的&#xff1a; 1&#xff0e;理解、巩固线段裁剪的含义。 2&#xff0e;掌握Cohen-Sutherland线段裁剪方法。 二&#xff0e;要求&#xff1a; 1&#xff0e;在屏幕上绘制出较简单的几何图形。 2. 用Cohen-Sutherland算法实现线段裁剪&a…

变换矩阵 及 可视化

变换矩阵是数学线性代数中的一个概念。 在线性代数中&#xff0c;线性变换能够用矩阵表示。如果T是一个把Rn映射到Rm的线性变换&#xff0c;且x是一个具有n个元素的列向量&#xff0c;那么 {\displaystyle T({\vec {x}})\mathbf {A} {\vec {x}}} 我们把mn的矩阵A&#xff0c;…

【图形学】探秘图形学奥秘:DDA与Bresenham算法的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《图形学 | 图像解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 ​ 目录 &#x1f30c;1. 初识模式识别…

3D重建中的可视外壳(visual hull)

目前&#xff0c;人们主要通过三种方式来获取三维模型&#xff1a; 利用传统几何造型技术直接构造模型利用三维扫描设备对真实物体进行扫描&#xff0c;进而重建出模型利用从各个视角拍摄的真实物体的多幅图像重建模型 由图像重建三维模型技术又可分为两类&#xff1a;一类是通…

图形学及图形学进展

有段时间没有来CSDN了&#xff0c;最近一直忙于工作&#xff0c;最近图形学方面&#xff0c;特别是重建图形学方面有了比较大的进展&#xff0c;然后NeRF-SLAM向也有不少进展&#xff0c;但由于ChatGPT风光无限&#xff0c;光芒都没有发出来&#xff0c;后续还是继续创作&#…

实验十 3D机器人

ZZU的学弟学妹们不要抄作业哦~(`Д) 一、实验目的 1.熟悉视点观察函数的设置和使用。 2.熟悉3D图形变换的设置和使用。 3.进一步熟悉基本3D图元的绘制。 4.体验透视投影和正交投影的不同效果。 5.掌握3D太阳系的简单机器人编程。 二、实验内容 1.简单机器人。设计如实…

C#关于实现基于鼠标中心滚轮放大缩小

我们在用C# Graphics 画图的时候如何实现通过鼠标滚轮进行图形的放大缩小呢? 首先我们需要了解System.Drawing.Drawing2D命名空间下有个Matrix类, 此类提供了多种图形变换方法.查看微软API, 我们发现方法Scale 只有基于原点进行放大缩小, 没有类似RotateAt的基于某个坐标进行…

计算机图形学理论(1):建模基础

本系列根据国外一个图形小哥的讲解为本&#xff0c;整合互联网的一些资料&#xff0c;结合自己的一些理解。 场景的组成部分 场景相当于一个或多个模型的集合。模型包含以下内容&#xff1a; 结构描述&#xff1a;几何形状&#xff0c;如顶点、纹理坐标等表面描述&#xff1a…

图形学之C语言OpenGL实现三角形绕其中心旋转,点击右键菜单改变大小和颜色,键盘按键控制旋转的开始和暂停等功能

一、 实验要求 1.使用鼠标选择窗口内任意位置画N个等腰三角形。 2.要画的三角形大小及颜色通过右键弹出菜单选定&#xff08;任选M个颜色&#xff09;。 3.设定三角形绕其中心旋转的开始、停止、旋转方向的功能键&#xff0c;并通过相应按键控制三角形旋转。二、 完成情况 由…

均匀采样问题总结

摘要 均匀采样问题是图形学中常遇到的一类问题&#xff0c;这类问题的描述如下&#xff1a; 如何用[0,1]之间的均匀采样获得在xxx上的均匀采样&#xff1f; 其中&#xff0c;xxx可以是圆盘、球面、球体等。我们可以利用的只有[0,1]之间的均匀采样&#xff0c;这个可以通过程…

【图形学】探秘图形学奥秘:区域填充的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《图形学 | 图像解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1f30c;1. 初识模式识别 …

在shader中实现五种描边方法

文章目录前言轮廓线渲染方法一览基于观察角度和表面法线模板测试描边过程式几何轮廓线渲染边缘检测SDF方法关于基于轮廓边检测的方法关于可选顶点着色器参考资料前言 本文为自己的一个学习笔记&#xff0c;以原理为主&#xff0c;每种方法之后都会给出对应完整的代码。 轮廓线…

深度测试的基础知识

本文分享深度测试(Depth Test)的基础知识 在渲染管线中, 深度测试是一个很关键的阶段, 它是后续阶段的基础, 也是影响视觉的重要阶段. 深度测试发生在片元着色器处理之后(准确的说的透明度测试, 模板测试之后), 透明度混合之前. 在片元着色器对所有的片元着色之后, GPU会对每个…

辐射度量学(Radiometry)的基础知识

本文分享辐射度量学(Radiometry)的基础知识 辐射度量学是BRDF的预备知识, 而BRDF是PBR的理论基础. 辐射度量学有几个关键的基础概念, 只有抓住了这几个关键概念, 后面的公式部分才能比较容易理解. 说在前面 在开始之前, 个人说一些学习和理解渲染的心得. 因为实时渲染是一个门…

区域填充算法

区域填充算法 一&#xff0e;目的&#xff1a; 掌握有序编表法的基本原理与实现&#xff0c;了解简单的交互技术。 二&#xff0e;要求&#xff1a; 1. 边界种子交互输入&#xff1b; 2. 实例包含有凹凸多边形类型&#xff1b; 3. 支持颜色选择&#xff0c;图案编辑。 三&…

图形学数学基础

1.向量及其运算 二维向量 a(x1,y1),b(x2,y2) a - b (x1-x2,y1-y2),从b指向a 点积(内积)&#xff1a;a.b |a||b|cos x1x2y1y1,为a,b夹角 结果是一个数。当a,b垂直时a,b点积为0(证明https://zhuanlan.zhihu.com/p/66 674587)&#xff0c;点乘的结果表示a在b方向上的投影|a|…

判断点和mesh的位置关系的两种方法

判断点和mesh的位置关系的方法有两种&#xff1a; 1、根据mesh的法向量 这种方法需要首先找到里当前点最近的mesh表面点&#xff0c;然后根据最近点的法向量和最近点到当前点的向量之间的夹角进行判断&#xff0c;可以设定一个阈值&#xff0c;例如小于90度判断当前点位于mes…

CLion + msys2 + mingw-w64 开发 opengl,如何引入glfw3

环境搭配的问题不说。 引入glfw3关键配置项目下的CMakeLists.txt文件。 1 去glfw官网下载&#xff0c;注意看好自己的版本&#xff0c;开发的是 64位的就要下载 64位的&#xff0c;32位的就要下载32位的。 2 将 glfw3的include文件放到 一个文件夹下&#xff0c;我是放到了项…

GMSH如何对STL模型再次划分网格

由于时间比较忙&#xff0c;一直未曾继续写博文&#xff0c;今天写一篇关于Gmsh对STL模型二次划分网格的测试。此项测试还不够完善&#xff0c;目前仅实现了STL模型的细分&#xff0c;效果还可以&#xff0c;在OSG下显示的效果如下&#xff1a; 一、原始STL显示效果&#xff0…

光线追踪器实现

我们收到了很多读者的电子邮件&#xff0c;询问&#xff1a;“好吧&#xff0c;如果这很容易做到&#xff0c;你不能给我们提供一个真实的例子吗&#xff1f;” 这与计划不同&#xff08;因为我们的想法是逐步编写渲染器&#xff09;&#xff0c;但我们编写了一个简约的光线追…

Games101笔记-线性代数回顾

向量/矢量的概念 单位向量的概念 向量求和的概念 向量默认是列向量&#xff0c;转置向量是横向量 向量点乘 作用&#xff1a; 通常用于找两个向量的夹角一个向量投影到一个方向的长度&#xff08;将一个向量分解成两个向量&#xff09;计算两个向量有多接近判定同向还是反…

UnityShader-透明效果

透明度测试 透明度测试&#xff1a; 只要一个片元的透明度不满足条件&#xff08;通常小于某个值&#xff09;&#xff0c;那么他对应的片元就会舍弃。被舍弃的片元不会进行任何处理&#xff0c;也不会对颜色缓冲产生任何影响&#xff1b;否则&#xff0c;就会按照普通的不透明…

freeman链码

参考链接&#xff1a;https://baike.baidu.com/item/%E9%93%BE%E7%A0%81/4272744?fraladdin 链码&#xff08;又称为freeman码&#xff09;是用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法&#xff0c;常被用来在图像处理、计算机图形学、模式识别等领域中表示曲…

Unity CommandBuffer 渲染指定的对象

参考 https://lindenreid.wordpress.com/2018/09/13/using-command-buffers-in-unity-selective-bloom/ https://www.jianshu.com/p/04cf0e348179 ssao也可以这样做&#xff0c;可以用DrawRenderer单独渲染一个Mask&#xff0c;然后Lerp一下就好了 Blit 的第一个参数其实就是赋…

OpenGL的创建(头文件、主程序的写法 和基本设置)

这里写三种选择: 1.控制台应用程序 主程序用void main或int main 不需要改语言符合模式 运行时会出现控制台(黑框) 头文件: #include "pch.h"//替换了stdafx.h #include <glut.h> #include <stdio.h> #include <windows.h> 主程序: 1.v…

OpenGL常用函数(部分)

2018.10.14 正在学习OpenGL的小白... 暂时分类有点杂乱 一、基础函数 int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow) {UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);char *ar…

实验一  OpenGL图形编程入门

ZZU的学弟学妹们不要抄作业哦~(&#xff40;Д) 一、实验目的 1.了解和掌握OpenGL的安装。 2.掌握一个简单的基于OpenGL的C程序结构。 3.掌握win32程序框架。 4.掌握OpenGL中若干基本图形的绘制。 二、实验内容 1.准备好OpenGL库文件。 Glut32.dll路径为%system root&a…

实验二 OpenGL的简单动画

ZZU的学弟学妹们不要抄作业哦~(`Д) 一、实验目的 1.掌握OpenGL的闲置函数。 2.掌握OpenGL的时间函数。 3.掌握OpenGL的简单动画功能。 4.了解OpengGL裁剪窗口、视区、显示窗口的概念和它们之间的关系。 5.进一步掌握OpenGL的基本图元的绘制。 二、实验内容 1.闲置函数…

Learn OpenGL 笔记3.6 - Multiple Light

Normal vector(法向量): a unit vector that is perpendicular to a surface.Normal matrix&#xff08;正规矩阵&#xff09;: a 3x3 matrix that is the model (or model-view) matrix without translation. It is also modified in such a way (inverse-transpose) that it …

【图形学】贝塞尔曲线理论与实践

贝塞尔曲线&#xff08;Bezier Curve&#xff09;在计算机图形领域应用非常广泛&#xff0c;比如我们 CSS 动画、 Canvas 以及 Photoshop 等都可以看到贝塞尔曲线的身影。 贝塞尔曲线类型 贝塞尔曲线根据_控制点_的数量分为&#xff1a; 一阶贝塞尔曲线&#xff08;2 个控制点…

3D模型UV展开原理

今年早些时候&#xff0c;我为 MAKE 杂志写了一篇教程&#xff0c;介绍如何制作视频游戏角色的毛绒动物。 该技术采用给定的角色 3D 模型及其纹理&#xff0c;并以编程方式生成缝纫图案。 虽然我已经编写了一般摘要并将源代码上传到 GitHub&#xff0c;但我在这里编写了对使这一…

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

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

LearnOpenGL 源码配置问题

1.LearnOpenGL的所有cpp资源下载下来 https://gitee.com/rongqingmei/git-learn-open-glhttps://gitee.com/rongqingmei/git-learn-open-gl 2.用Visual Studio 2019打开此项目 3.Visual Studio 2019 安装cmake功能 4. 反复的把CMakeSettings.json文件删了再配置 配置方式&am…

光 线 追 踪

本文首先将会介绍光线追踪的类别族谱&#xff0c;介绍其公共部分&#xff0c;之后我们会分别对其中的每一个进行详细地剖析。 光线追踪&#xff08;Ray tracing&#xff09;是一个拥有历史感的词汇。图形学从业者从neutron transport、heat transfer和illumination engineerin…

Neohooken PBD 文献笔记

Neohooken的本构模型为 定义能量密度为cosntraint的函数。能量密度的负梯度就是力 以上的能量密度分为CH与CD两项。CH就是净水应力造成的弹性力。CD就是应力偏量造成的弹性力。H stands for Hydrostatic, while D stands for deviatoric. 显然CD是无法完全对应到psiD的&…

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

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

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

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

《大江大河2》里这段精彩的博弈:没有对错,只有权衡

前段时间热播的《大江大河2》里有一段精彩的博弈&#xff0c;我印象很深&#xff0c;一个朋友也写了一篇文章把其中一段精彩的对话记录了下来&#xff0c;大家看完这篇文章也可以在文末找到链接。01—宋运辉的想法这段故事是主角宋运辉任副厂长的东海化工厂要进行二期工程。由于…

Three.js入门(一)

Creating the secne 想要Three.js显示任何东西&#xff0c;我们都需要三个东西&#xff1a; scene&#xff08;场景&#xff09;camera&#xff08;摄像机&#xff09;renderer&#xff08;渲染器 我们来分析以下代码 var scene new THREE.Scene(); var camera new THREE.…

Unity SRP从零搭建一套图形渲染管线

可编程渲染管线 &#xff08;Scriptable Render Pipeline&#xff09;简称SRP&#xff0c;是一种在Unity中通过C#脚本配置和执行渲染的方式。通用渲染管线 (URP)和高清渲染管线 &#xff08;HDRP&#xff09;都是基于SRP衍生出来的。SRP允许你根据目标平台定制渲染流程&#xf…

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

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

【第二届青训营-寒假前端场】- 「WebGL基础」笔记

Why WebGL / Why GPU?现代的图像系统The PipelineGPUWebGL & OpenGL关系WebGL绘图步骤创建WebGL上下文创建WebGL Program&#xff08;The Shaders&#xff09;将数据存到缓冲区中&#xff08;Data to Frame Buffer&#xff09;读取缓冲区数据到GPU&#xff08;Frame Buffe…

tinyrenderer-三角形光栅化和背面剔除

画空心三角形 根据之前的画线算法&#xff0c;可以很简单画出一个空心三角形&#xff0c;对三角形三个顶点&#xff0c;按顺序分别首尾画连线就可以 void triangle(Vec2i t0, Vec2i t1, Vec2i t2, TGAImage &image, TGAColor color) { line(t0, t1, image, color); line(…

【图形学】投影和消隐简介

投影 正交投影 对于物体上任意一点的三维坐标P(x,y,z),投影后的三维坐标为 P ′ ( x ′ , y ′ , z ′ ) P^\prime(x^\prime,y^\prime,z^\prime) P′(x′,y′,z′),那么正交投影的方程为 { x ′ x y ′ y z ′ 0 \begin{cases} x^\primex\\y^\primey\\z^\prime0 \end{case…

GAMES101学习笔记——光栅化

一&#xff1a;什么是光栅化&#xff08;Rasterization&#xff09; 把空间里的物体画在屏幕上。 屏幕由一个个阵列排布的像素点组成&#xff0c;屏幕大小指宽度方向由width个像素点&#xff0c;高度方向由height个像素点。 像素点索引范围&#xff1a;&#xff08;0&#xf…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 18 Advanced Topics in Rendering 学习笔记

Lecture 18 Advanced Topics in Rendering 一、Advanced Light Transport Unbiased light transport methods ​ --Bidirectional path tracing (BDPT) ​ --Metropolis light transport (MLT) Biased light transport methods ​ --Photon mapping ​ --Vertex connection a…

Unity 在postprocess之后截透明图片

也算是一种方法吧&#xff0c;可以截后处理之后的alpha截图 https://forum.unity.com/threads/post-processing-truns-off-cameras-solid-color-alpha.473636/ 设置相机为solid color alpha设为0 新建自定义后处理 AlphaCapture.cs using System; using System.IO; using Un…

Unity 简单第三人称控制脚本 PC测试用

控制人物 using UnityEngine;public class PlayerController : MonoBehaviour {//[SerializeField]//Transform playerInputSpace default;[SerializeField, Range(0f, 100f)]float maxSpeed 10f;[SerializeField, Range(0f, 100f)]float maxAcceleration 10f, maxAirAccel…

渲染管线与渲染路径

文章目录渲染管线前言流程概述CPU与GPU之间的通信UE4的官方资料GPU流水线顶点着色器&#xff08;Vertex Shader&#xff09;可选顶点处理&#xff08;Optional Vertex Processing&#xff09;裁剪&#xff08;Clipping&#xff09;屏幕映射&#xff08;Screen Mapping&#xff…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4 学习笔记

Lecture 16 Ray Tracing 4 一、Probability Review 1、Random Variables X&#xff1a;random variable. Represents a distribution of potential values X~p(x)&#xff1a;probability density function (PDF). Describes relative probability of a random process cho…

计算机图形学笔记十一:Ray Tracing1(阴影,光线追踪基本原理)

阴影&#xff0c;光线追踪基本原理1.阴影贴图&#xff08;Shadow Mapping&#xff09;1.1产生步骤1.2存在问题2.光线追踪&#xff08; Ray Tracing&#xff09;2.1为什么需要光线追踪&#xff1f;2.2基础光线追踪算法&#xff08;Basic Ray-Tracing Algorithm&#xff09;2.3Wh…

计算机图形学笔记十:Geometry3(网格处理)

网格处理1.网格2.网格细分&#xff08;Mesh subdivision&#xff09;2.1Loop细分法&#xff08;Loop Subdivision&#xff09;2.2Catmull-Clark细分(Catmull-Clark Subdivision)3.网格简化&#xff08;Mesh Simplification&#xff09;3.1边坍缩&#xff08;Collapsing An Edge…

计算机图形学笔记九:Geometry1(几何基本表示方法)

几何基本表示方法1.几何类型1.1隐式几何&#xff08;Implicit&#xff09;1.2显式几何&#xff08;Explicit&#xff09;2.隐式几何的表示方法2.1数学公式法&#xff08;Algebraic Surfaces&#xff09;2.2实体几何法&#xff08;CSG&#xff09;(Constructive Solid Geometry)…

计算机图形学笔记八:Shading 3(纹理)

纹理1.纹理映射&#xff08;Texture Mapping&#xff09;1.1基本原理1.2贴图方法2.重心坐标&#xff08;Barycentric Coordinates&#xff09;2.1插值&#xff08;Interpolation&#xff09;2.2重心坐标的计算2.3插值计算内部任意一点的属性3.应用纹理&#xff08;Applying Tex…

计算机图形学笔记九:Geometry2(曲线和曲面)

曲线和曲面1.曲线&#xff08;Curves&#xff09;1.1⻉塞尔曲线(Bzier Curves)1.1.1画法1.1.2线性代数表示1.1.3 凸包性质&#xff08;Convex hull&#xff09;1.2逐段贝塞尔曲线&#xff08;Piecewise Bezier Curve&#xff09;2.曲面&#xff08;Surfaces&#xff09;2.1贝塞…

计算机图形学笔记七:Shading 2(着色频率,图形(实时渲染)管线)

着色频率&#xff0c;图形&#xff08;实时渲染&#xff09;管线1.着色频率&#xff08;方法&#xff09;&#xff08;Shading Frequencies&#xff09;1.1平面着色&#xff08;Flat shading&#xff09;1.2高洛德着色&#xff08;Gouraud shading&#xff09;1.3冯着色&#x…

计算机图形学笔记三:三角形光栅化

光栅化1.光栅化简析2.三角形光栅化1.光栅化简析 光栅化是将几何数据经过一系列变换后最终转换为像素&#xff0c;从而呈现在显示设备屏幕上的过程。 光栅化把东西画在屏幕上光栅化把东西画在屏幕上光栅化把东西画在屏幕上 而什么是屏幕&#xff1f; 屏幕有一个个像素点组成的…

GAMES101学习笔记(Lecture5以及对作业1的理解)

视口变换 作业1 基础版 模型变换&#xff1a;get_model_matrix(float rotation_angle) //视图转换 Eigen::Matrix4f get_view_matrix(Eigen::Vector3f eye_pos) {// 定义 4 * 4 的单位矩阵Eigen::Matrix4f view Eigen::Matrix4f::Identity();Eigen::Matrix4f translate;// 初…

古老的3D格式--obj简介

obj文件是3D模型文件格式。由Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准&#xff0c;适合用于3D软件模型之间的互导&#xff0c;也可以通过Maya读写。 OBJ3.0文件格式支持直线(Line)、多边形(Polygon)、表面(Surface)和自由形态曲线…

GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles) 学习笔记

Lecture 05 Rasterization 1 (Triangles) 一、Canonical Cube to Screen Preface What’s after MVP? Model transformation (placing objects)View transformation (placing camera)Projection transformation ​ --Orthographic projection (cuboid to “canonical” c…

GAMES202-高质量实时渲染-闫令琪——Lecture 3:Real-Time Shadows 1 学习笔记

Lecture 3:Real-Time Shadows 1 Recap: shadow mapping [slides courtesy of Prof. Ravi Ramamoorthi] Issues from shadow mapping and solutions The math behind shadow mapping Percentage closer soft shadows 一、Shadow Mapping A 2-Pass Algorithm –The light pas…

Unity法线贴图原理理解(为什么存在切线空间?存的值是什么?)

Unity法线贴图原理理解(为什么存在切线空间&#xff1f;存的值是什么&#xff1f;&#xff09;写在前面1、为什么用法线贴图&#xff1f;2、用什么存法线&#xff1f;3、法线向量为什么存在切线空间&#xff1f;法线贴图存得是什么&#xff1f;4、法线贴图为什么会偏蓝&#xf…

Learn OpenGL 笔记2.8 - Coordinate Systems

基础知识&#xff1a; 1.Coordinate Systems(坐标系) 顶点着色器&#xff0c;把坐标们转换为 normalized device coordinates (NDC) 标准化设备坐标&#xff0c;然后把这些坐标提供给rasterizer光栅化器&#xff0c;进行转换为屏幕上的 2D 坐标/像素。 Local space (or Obje…

Learn OpenGL 笔记3.1 - Colors

基础知识&#xff1a; 1.Colors 颜色使用通常缩写为 RGB 的红色、绿色和蓝色分量以数字方式表示。 仅使用这 3 个值的不同组合&#xff08;每个值在 [0,1] 的范围内)&#xff0c;我们几乎可以表示存在的任何颜色。 2.component-wise multiplication或者element-wise multipl…

Learn OpenGL 笔记2.6 - Textures

1.基础知识&#xff1a; 1.Textures&#xff08;纹理&#xff09; 纹理是一个2D图片&#xff08;甚至也有1D和3D的纹理&#xff09;&#xff0c;它可以用来添加物体的细节。可以存储凹凸信息&#xff0c;不用给网格模型添加额外顶点。 2.texture coordinate&#xff08;纹理…

【OpenGL手册11】材质的模型

目录 一、说明二、材质表面和光照三、设置材质四、光的属性五、不同的光源颜色练习 一、说明 在现实世界里&#xff0c;每个物体会对光产生不同的反应。比如&#xff0c;钢制物体看起来通常会比陶土花瓶更闪闪发光&#xff0c;一个木头箱子也不会与一个钢制箱子反射同样程度的…

Games101笔记-计算机图形学概述

光栅化&#xff1a;把三维空间的几何形体显示在屏幕上 实时&#xff1a;每秒30帧的画面 曲线和曲面&#xff1a; 如何表示一条光滑曲线&#xff0c;如何表示曲面如何用简单的曲面通过细分的方法得到更复杂的曲面在形状发生变化时&#xff0c;面要如何变化&#xff0c;如何保…

Learn OpenGL 笔记2.5 - Getting started-Shaders

学习地址&#xff1a;LearnOpenGL - Shaders 知识点&#xff1a; 1.Shaders &#xff08;重&#xff09; 着色器是运行在 GPU 上的小程序。 这些程序针对图形管道的每个特定部分运行。 从基本意义上讲&#xff0c;着色器只不过是将输入转换为输出的程序。 着色器也是非常孤立…

Three.js 实现简单的PCD加载器(可从本地读取pcd文件)【附完整代码】

1 功能实现 初始会显示我们之前 SfM 做出的点云&#xff0c;包括相机位置可以点击右上角加载你本地的PCD文件可以通过选择多个文件加载多个点云并显示在同一场景中可以通过左上角的控制界面查看/调整点云的属性&#xff0c;如点大小、颜色等可以通过右上角的控制界面选择旋转 …

卡通渲染及其相关技术总结

原文链接https://blog.uwa4d.com/archives/usparkle_cartoonshading.html 这是侑虎科技第246篇原创文章&#xff0c;感谢作者洛城供稿&#xff0c;欢迎转发分享&#xff0c;未经作者授权请勿转载。当然&#xff0c;如果您有任何独到的见解或者发现也欢迎联系我们&#xff0c;一…

着色模型简介和实现(下)

接上文&#xff0c;本文主要介绍UE4、Filament以及Disney对前面介绍的几种shading model的实现。 实现 着色模型&#xff08;Shading model&#xff09;指的是材质如何对入射光线做出反应&#xff0c;可以理解为从入射光线到出射光线的映射函数。前面介绍的BRDF理论也是shadi…

BRDF理论及shader实现(下)

接上篇&#xff1a; BRDF理论及shader实现&#xff08;上&#xff09; Specular BRDF 对于specular分量来说&#xff0c;fmf_mfm​是一个遵循菲涅尔反射定律的镜面BRDF项&#xff0c;此时的fmf_mfm​满足&#xff08;[3]和[21]有详细的推导&#xff09;&#xff1a; fm(l,v,m…

WebGPU学习(9)---使用Pipeline Overridable Constants

使用Pipeline Overridable Constants WebGPU 的着色器语言是 WGSL&#xff0c;但与 GLSL 和 HLSL 不同&#xff0c;不支持 #ifdef 等宏。为了实现各种着色器变体&#xff0c;迄今为止&#xff0c;宏一直是着色器编程中非常重要的功能。那么应该如何处理没有宏的 WGSL&#xff…

基于OCC+OSG集成框架下的GMSH之二阶网格划分探索

二阶网格相对于一阶网格&#xff0c;其计算节点数量更多&#xff0c;具体表现在一个一阶网格下的三角形中的每个边的中点构建一个点&#xff0c;对一阶三角形网格划分成四个三角形。gmsh提供了网格阶数设置&#xff0c;一般默认是一阶网格&#xff0c;本人根据gmsh文档&#xf…

unity-shader卡通渲染:描边,XRay透视,边缘外发光,卡通着色,色阶,离散化

先看效果&#xff0c;再上代码&#xff0c;最后知识点解释&#xff1a; {–Xray基本原理就是&#xff1a;ZTest Great产生的作用 描边&#xff1a;法线外拓&#xff08;把顶点沿着法线方向向外挤&#xff09; 卡通着色颜色处理&#xff1a;产生色阶&#xff0c;颜色的离散化 轮…

着色模型简介和实现(上)

摘要 着色模型&#xff08;shading model&#xff09;描述的是材质表面对光线的作用&#xff0c;它的输入是光线、入射角、反射角、材质的属性&#xff08;例如粗糙度、金属度等&#xff09;&#xff0c;输出是材质的颜色。前面提到的BRDF模型就是shading model的一种&#xf…

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

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

Games101-光线追踪(基本原理)

光线追踪和光栅化是两个不同的成像方式。 光栅化最大的问题是无法很好的表示全局的效果。 全局效果包括 软阴影(shadow mapping后来被改进成能够支持软阴影&#xff0c;阴影随着离物体越远越来越模糊)&#xff0c;glossy反射(类似镜子&#xff0c;但没有镜子那么光滑&#xff0…

games103——作业2

实验二主要使用隐式积分法以及PBD法完成布料仿真 完整项目已上传至github。 文章目录 基于物理的方法弹簧系统单个弹簧多个弹簧弹簧网络结构化弹簧网络(Structured Spring Networks)非结构化弹簧网络(Unstructured Spring Networks)三角网格表示 代码 求解质量弹簧系统的显示积…

【计算机图形学】习题课:Viewing

【计算机图形学】Viewing 部分问题与解答 CS100433 Computer Graphics Assignment 21 Proof the composed transformations defined in global coordinate frame is equivalent to the composed transformations defined in local coordinate frame but in different composing…

webgpu思考obj携带属性

今天在搞dbbh.js的时候&#xff0c;想到一个问题&#xff0c;啥问题呢&#xff0c;先看看情况 画2个材质不相同的box的时候 首先开始createCommandEncoder,然后beginRenderPass&#xff0c;分歧就在这里了 第一个box,他有自己的pipeline&#xff0c;第二个也有&#xff0c;那么…

矩阵和矩阵乘法的直观化理解

本文分享矩阵和矩阵乘法的直观化理解 矩阵是一种非常好用的数学工具, 刚开始是为了求解线性方程组而被发明出来. 随着线性代数在各个领域的广泛应用而得到巨大的发展. 因为矩阵是一种非常抽象的概念和工具, 矩阵乘法更是让不少人摸不着头脑, 作者在多年的学习和实践中有了一些…

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

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

【EGE】模板的创建与删除

我的应用版本&#xff1a; codeblock17.12 ege20.08 &#xff08;最终参考教程&#xff1a;https://blog.csdn.net/qq_39151563/article/details/100161986 &#xff08;原参考教程&#xff1a;https://blog.csdn.net/qq_18994119/article/details/80890068 原文中已有阐述部…

计算机图形学笔记一:基础变换

基础变换1.变换的作用2.二维变换2.1缩放变换&#xff08;Scale Transform&#xff09;2.1.1等比例缩放2.1.2不等比例缩放2.2对称变换&#xff08;Reflection Transform&#xff09;2.3错切变换&#xff08;Shear Transform&#xff09;2.4旋转变换&#xff08;Rotation Transfo…

【计算机图形学】结课大作业——光照模型(3D场景)

效果 >_< 技术栈 【前端】HTML / CSS / JavaScript【图形学】WebGL / Three.js 思路 three.js开发一般是比较套路的——init() animate() init()时把所有的场景摆放好animate()就是一个递归调用的渲染过程。 如何实现整个场景的搭建&#xff1f; 初始化场景(Sce…

我的创作纪念日-哈市雪花

机缘 2018年4月13写了第一篇博客&#xff0c;在此之前也在用CSDN&#xff0c;但更多的是查阅资料&#xff0c;学习技术。在这之前也写过技术文章&#xff0c;记得最开始是在知乎上发表的&#xff0c;终于那一天在微博上看到大佬转换笑脸动画表情的实现思路&#xff0c;一时兴起…

SDL显示YUV

1 简介 关于SDL显示YUV有很多文章&#xff0c;在做这块之前也参考了很多&#xff0c;这里推荐一篇雷神的。 https://blog.csdn.net/leixiaohua1020/article/details/40525591 2 正文 注意&#xff0c;这里只实现了NV12,需要特别注意。雷神的文章里支持很作中类型。 直接上代…

GAMES101学习笔记(Lecture1-2)

该笔记基于闫令琪大神的GAMES101课程及课后作业总结而成 目录 ​ 学习过程中遇到的一些词 线代基础 Eigen库的用处 矩阵/向量的练习: 学习过程中遇到的一些词 Geometrically: Parallelogram law & Triangle law 几何&#xff1a;平行四边形定律和三角形定律 Alg…

Mixlab 无界社区2020年度聚会圆满结束 | To Be Continued

在热爱的世界里&#xff0c;尽闪光芒 —— 这是我们最初成立 Mixlab 希望大家能在这里汇集&#xff0c;并闪耀的初心。这几年&#xff0c;Mixlab 也跟大家一起&#xff0c;在探索中前进&#xff0c;然后相遇&#xff01;今晚&#xff0c;Mixlab 年度聚会在上海南京西路顺利开展…

浙大团队发表 3D 视图合成新方法,效果远超 NeRF、NV

By 超神经内容提要&#xff1a;只需几个不同视角的视频&#xff0c;就能把整个人体形象 360 无死角地构建起来&#xff0c;不得不说&#xff0c;AI 的脑补能力越来越强大。这样的工具&#xff0c;今后将可能为影视业、体育节目呈现等带来新的突破。关键词&#xff1a;人体新视图…

关于网格数据导出指定格式的测试(以Gmsh导出nas格式为例)

本文主要讲述Gmsh如何导出nas格式的网格数据&#xff0c;众所周知&#xff0c;Gmsh可以导出多种网格数据格式&#xff0c;比如大家熟悉的msh、stl、inp、cgns&#xff08;似乎不完善&#xff09;等等&#xff0c;但是gmsh不支持nas格式的导出&#xff0c;只支持nas格式的导入&a…

mcq 队列_MCQ | 计算机图形学导论

mcq 队列Question 1: What is the range of the pixels in a Grayscale images? 问题1&#xff1a;灰度图像中像素的范围是多少&#xff1f; 0 - 1 0-1 0 - 255 0-255 0 - 210 0-2 10 None of the above 以上都不是 Answer: b. 0 - 255 答案&#xff1a;b。 0-255 Explanati…

【图形学】三维几何变换理论和实现

和二维几何变换一样&#xff0c;三维几何变换也要引入齐次坐标。点(x,y,z)的规范化齐次坐标为(x,y,z,1)。那么三维变换矩阵就是一个4*4的方阵。 T ( a b c l d e f m g h i n p q r s ) T\begin{pmatrix} a&b&c&l\\d&e&f&m\\g&h&i&n\\p&…

相机拍照与摄影学基础

1.相机拍照 相机可能形状和大小不同&#xff0c;但基本功能相同&#xff0c;包括快门速度、光圈和感光度&#xff0c;这些是摄影的通用概念。即使是一次性相机也是基于这三个理念工作的。不同类型相机在这三个概念上的唯一区别是你可以控制这些功能的程度。这三个参数被称为相…

欧拉公式推导网格中点线面估计数量关系

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 背景 之前面试网格算法工程师时被问到三角网格中点和面的数量关系。delaunay 三角剖分要估计边的数量来事先申请内存。 通过查找资料了解原理和推导过程。 欧拉公式…

【OpenGL手册12】 统一变量Uniform

OpenGL基础 - 统一变量Uniform 目录 一、说明二、 Uniform变量概念2.1 Uniform变量和特点2.2 Uniform变量定义方法2.3 Uniform变量赋值和传参 三、如何在Shader中自定义Location四、赋值五、统一变量缓冲对象六、赋值函数 一、说明 关于统一变量&#xff0c;也有一系列概念和方…