![](https://img-blog.csdnimg.cn/4e1b467571904451a024c3f89e36ed5e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Computer Graphics
图形学理论知识
AplusX
专注于混合现实(MR)/计算机图形学(CG)/计算机视觉(CV)相关研究
展开
-
Blender+fSpy实现3D渲染结果与2D图像融合
Blender的3D渲染结果融合原创 2022-11-04 09:54:56 · 1746 阅读 · 1 评论 -
C++&Python计算相机响应函数
算法是基于Debevec在1997年的论文Recovering High Dynamic Range Radiance Maps from Photographs之前在博客中也给出了几个用于学习理论知识的链接CRF理论学习下面的C++代码是基于这个修改的。包括:Image Irradiance的归一化指数函数拟合ICRF输出到本地文件C++#include <iostream>#include "opencv2/highgui/highgui.hpp" #includ原创 2022-02-09 11:00:16 · 1397 阅读 · 0 评论 -
基于CUDA实现立方体贴图 (Cubemaps) 转换为全景图 (Equirectangular Panorama)
在立方体贴图空间内发射光线(视线),计算球面光线(视线)会击中哪个面的哪个像素的像素值,最终生成Equirectangular全景图。InitSceneTexture():先获取Cubemaps并将其绑定在GPU中void InitSceneTexture() { char* path = "./Cubemaps"; myEnvironment.setFileRoute(path); myEnvironment.getImageSource(); int sceneLength = myEn原创 2021-07-27 14:19:54 · 2043 阅读 · 1 评论 -
Python & Mitsuba2 基于图像的渲染
import osimport sysimport cv2import numpy as npimport enoki as ekimport mitsubamitsuba.set_variant("packet_rgb")from mitsuba.core import *from mitsuba.core.xml import load_filefrom mitsuba.python.util import traversefrom mitsuba.python.autodiff原创 2021-07-16 15:08:34 · 1051 阅读 · 0 评论 -
Python修改Mitsuba的XML相关参数
转自https://github.com/SXHSine/Mitsuba-Usage-with-Python27# -*- coding: UTF-8 -*-import osimport sys# NOTE: remember to specify paths using FORWARD slashes (i.e. '/' instead of# '\' to avoid pitfalls with string escaping)# Configure the search path for转载 2021-07-16 14:58:16 · 372 阅读 · 0 评论 -
Python & Mitsuba2 环境配置
开发环境Python 3.7Mitsuba 2.2.1VS 2019Mitsuba的开发源码在https://github.com/mitsuba-renderer/mitsuba2一开始的教程是跟着ATP这位博主做的,但是发现Mitsuba的代码下载实在太慢,里面提供的链接也不是很有效,我的解决方法是:将Github上ext和resources文件下带箭头的文件手动下载然后放在相应文件夹下,真的超级快超级有效!setpath.bat那个文件运行一下(txt打开根据自己路径稍微修改一下)看看原创 2021-07-16 14:49:39 · 1365 阅读 · 0 评论 -
几何空间中坐标系转换
phi是从z轴正半轴开始;theta是从x正半轴向y正半轴旋转。原创 2021-03-24 14:29:07 · 698 阅读 · 0 评论 -
基于VTK的Delaunay的三角剖分算法
实现效果:#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL) #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)#include <vtkSmartPointer.h>#include <vtkPoints.h原创 2021-03-02 13:35:41 · 1062 阅读 · 0 评论 -
利用DDA算法得到直线上的像素点坐标
图片霍夫变换拟合得到直线后,怎样获得直线上的像素点坐标? 这是我今天在图像处理学习中遇到的问题,霍夫变换采用的概率霍夫变换,所以拟合得到的直线信息其实是直线的两个端点的坐标,这样一个比较直接的思路就是利用DDA算法来获取.一.算法简介 DDA算法是计算机图形学中最简单的绘制直线算法。其主要思想是由直线公式y = kx + b推导出来的。 我们已知直线段两个端点P0(x0,y0...原创 2019-08-29 10:18:35 · 2767 阅读 · 0 评论 -
PRT(Precomputed Radiance Transfer)&球谐光照(Spherical Harmonic Lighting)
最近因为开始做PRT(Precomputed Radiance Transfer),看了一些资料。wikipedia上的解释:Precomputed Radiance Transfer (PRT) is a computer graphics technique used to render a scene in real time with complex light inte...转载 2019-07-04 19:56:31 · 2085 阅读 · 0 评论 -
Monte Carlo methods for improved rendering
http://smerity.com/montelight-cpp/转载 2019-01-18 14:40:14 · 150 阅读 · 0 评论 -
Path Tracing
Path Tracing懒得翻译了,相信搞图形学的人都能看得懂,2333Path Tracing is a rendering algorithm similar to ray tracing in which rays are cast from a virtual camera and traced through a simulated scene. Path tracing use...转载 2019-01-18 10:33:10 · 1831 阅读 · 0 评论 -
如何理解马尔科夫链
https://www.zhihu.com/question/26665048/answer/406461411?utm_source=wechat_session&utm_medium=social&utm_oi=616624175046070272转载 2019-01-17 21:53:11 · 285 阅读 · 0 评论 -
raymarching算法
raymarching 算法raymarching 算法思想很直观:首先有一个3D的体纹理,然后从相机发射n条射线,射线有一个采样的步长。当射线处在体纹理中时,每个步长采一次样,获取纹理值(实际上表示该点的密度值),计算光照,然后和该条射线当前累积的颜色值进行混合。为什么这样就可以渲染出正确的图案呢?因为光路是可逆的,从光源射出的光线经过散射,最终进入摄像机的效果等同于从摄像机发出的射线进行着色和...转载 2018-04-13 16:09:07 · 6864 阅读 · 4 评论 -
RayTracking 光线跟踪算法
转自 http://www.cnblogs.com/daniagger/archive/2012/05/28/2521318.html 详细请看这位师兄的博客 1. Irradiance(辐照度)total amount of energy received per unit area of a surface 2. Illuminance(照明度)essentially same as ir...转载 2018-04-13 16:43:14 · 2842 阅读 · 0 评论 -
Ray Tracing,Ray Casting,Path Tracing,Ray Marching 的区别?
作者:洛城链接:https://www.zhihu.com/question/29863225/answer/70728387来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。既然都是Ray开头的,这些概念中最大的区别就是射线,具体地可以说是射线的起止点不同。1)Ray tracing是我们常说的光线追踪,利用光路可逆原理,从摄像机位置出发,向成像屏幕上的像素点引若干条...转载 2018-05-03 21:24:43 · 5619 阅读 · 0 评论 -
PPM图片格式及其C读写代码
PPM(Portable Pixmap Format)还有两位兄长,大哥名叫「PBM」,二哥人称「PGM」,他们三兄弟各有所长,下面为你们一一介绍:PBM 是位图(bitmap),仅有黑与白,没有灰 PGM 是灰度图(grayscale) PPM 是通过RGB三种颜色显现的图像(pixmaps)每个图像文件的开头都通过2个字节「magic number」来表明文件格式的类型(PBM, P...转载 2018-07-20 11:23:52 · 4164 阅读 · 4 评论 -
Intro to Parallel Programming CUDA-第一单元
一、GPU典型工作流程:1.CPU在GPU上分配存储2.CPU把某个输入数据从CPU复制到GPU上3.CPU调用某些内核来监视这些在GPU上处理这个数据的内核4.CPU把结果从GPU复制回CPU二、Kernel<<<grid of blocks,block of threads>>>(……)核函数是GPU每个thread上运行的程...原创 2018-07-23 10:47:04 · 463 阅读 · 0 评论 -
计算机图形学——三角形网格
CAD是基于实体的(solid-based)计算机图形学是基于表面的(surface-based) 凸多边形是指多边形任何两个顶点连接总是在多边形内。 网格化算法:拓扑结构:如何简化网格?细分网格化简: ...原创 2018-09-06 10:39:07 · 8323 阅读 · 0 评论 -
计算机图形学——BRDF
入射光需要考虑各方向反射同一方向的光,所以用辉度即对光亮度对面积积分,而反射光只有一条因此用光亮度就行上述图片错了,反射率是反射光辉度与入射光辉度之比。所以反射率和BRDF是差不多的,就差了一个π ...原创 2018-09-11 20:23:07 · 985 阅读 · 0 评论 -
计算机图形学——颜色模型、图像知识
漫反射光的公式表示漫反射光强度主要与入射光L和法向N点积有关,夹角越大,漫反射越弱,因此早上的太阳不晒?处是点乘morphing是指两种物体相互转换,deformation是指同一个物体的变换变换示意图: ...原创 2018-09-09 14:38:53 · 3492 阅读 · 1 评论 -
光线追踪学习
https://blog.csdn.net/libing_zeng/article/details/72598060?locationNum=7&fps=1作者高产,非常适合CG刚入门的同学学习原创 2018-10-18 22:57:40 · 306 阅读 · 0 评论 -
刘利刚老师谈什么是计算机图形学?
什么是计算机图形学?刘利刚中国科学技术大学 图形与几何计算实验室http://staff.ustc.edu.cn/~lgliu【注】 由于时常有本科学生来向笔者询问计算机图形学是做什么的,为了使得学生能够快速了解计算机图形学,有利于他们在选择研究生方向做出适合自己的选择,特撰写此文。本文仅仅为笔者对计算机图形学浅薄的理解,不涉及对概念的定义,是非学术性的。因此,笔者尽量尝试用通俗的...转载 2018-12-08 18:19:12 · 3163 阅读 · 0 评论 -
蒙特卡洛方法的实例
本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。理论知识可从这个链接看:http://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/monte-carlo-methods-in-practice/monte-carlo-integration一、概述蒙特卡罗方法是...转载 2018-12-30 16:31:57 · 18106 阅读 · 0 评论 -
球面贴图,立方体贴图的比较
因为要设计AR系统,但是纠结是用cube还是Sphere mapping,cube mapping比较熟悉,但是网上关于sphere mapping的资料少之又少,只怪智商太低太原理的又看不懂,所以花了很长时间,主要是靠下面几个链接和那篇论文理解透的。总之,还是用Cube吧。。。。参考资料:http://www.twinklingstar.cn/2014/1322/environment-...原创 2019-01-17 11:20:14 · 2023 阅读 · 0 评论 -
蒙特卡洛光线追踪
其他资料1资料2光线追踪原理 光的基本传递模型 1 在一个要渲染的场景中,我们认为光能由预先指定的光源发出,然后我们以光线来描述光能的传递过程,当整个场景中的光能信息被我们计算出来后,我们收集这些信息转化为顶点的亮度。 2 光线经过物体表面可以产生反射和漫反射,光线透过物体可以产生折射和散射。具体产生哪种出射效果,依据物体的表面属性而定。物体的表面一般不会是理想的某种单一属性的表面,表...转载 2018-04-11 13:38:39 · 1387 阅读 · 0 评论