最近在学习DIBR并尝试实现.感觉网上相关资料比较少,大多还是爬虫,决定自己写一个. DIBR就是depth image based rendering问题.输入一个视角下的图像和深度图,要求你输出另外一个虚拟视角下的图像(当然两个视角的内外参矩阵都有办法通过已知信息求得). 总共分三步:内参提取 和 外参提取 ,以及DIBR的主过程.这里按照网上其他博客的顺序,先介绍内参提取.看的过程中注意坐标系的定义.由于是第一次接触,这里我采用的坐标系可能和常规的坐标系不太一样. 开始之前先介绍一些定义(…
<计算机图形学>(第四版)正在学习中,学习目的是为了在Unity中使用shader实现不同的渲染效果. 希望在这里能把学习过程中学到的知识和遇到的问题记录下来. 工作环境是:Xcode 8.3.2.  Deployment Target: 10.8. 代码目录是:https://github.com/p0e0o0p0l0e0/Computer_Graphics.git 目标学习内容有以下几章,已经学到第8章. 第3章:计算机图形学软件 第4章:输出图元 第5章:图元的属性 第6章:实现图元及属…
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业不是百度来的,我只是百度了一些示例代码的意思,怎么用!算了,越解释万一越黑呢!哈哈O(∩_∩)O哈哈~) ----------------------------------------------------------------分界线------------------------------…
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Graphics Mathematics for Computer Graphics数学在计算机图形学中的应用Greg Turk, August 1997 “学习计算机图形学需要多少的数学?”这是初学者最经常问的问题.答案取决于你想在计算机图形学领域钻研多深.如果仅仅使用周围唾手可得的图形软件,你不需要知…
本书參照<<图形学扫盲>> 整理的,原文内容引子: http://www.cppblog.com/lai3d/archive/2008/12/30/70796.html 前言:   以我如今的水平观之,3D图形学分3大块的学习内容:   a.空间几何数学:空间几何变换,加速算法,多边形技术,曲线和曲面,相交測试,碰撞測试.   b.光照着色系统:光照,纹理贴图,高级象素着色光照,艺术性渲染.   c.程序技术性应用:公告板,精灵,天空盒,体绘制,材质系统,场景图,渲染队列.    …
0 引言 最近想学一下计算机图形学方面的知识,原因如下.目前本人接触了数字图像处理(opencv)以及点云处理(PCL)方面的知识,对从图像和点云中提取特征信息,并将特征转化为底层/中层语义信息有了一定经验.另一方面,通过组内交流,本人对计算机视觉中从图像/点云获取高层语义信息也有了一定的了解.但是,对于如何从语义到图形/图像这个过程我了解不多,而计算机图形学正是研究解决这个问题的学科.从OpenGL图形流水线开始学习计算机图形学是一条相当不错的途径,这便是本文的目的所在. 1 学习资料整理 (…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12166896.html 为什么引入齐次坐标的变换矩阵可以表示平移呢? - Yu Mao的回答 - 知乎 https://www.zhihu.com/question/26655998/answer/43847213为什么引入齐次坐标的变换矩阵可以表示平移呢? - Yu Mao的回答 - 知乎 https://www.zhihu.com/question/26655998/answer/438…
作业题目: 图形变换:实现一个图形绕任意直线旋转的程序. 要求:把一个三维图形绕任意一条直线旋转,需要有初始图形,和旋转后的图形,最好也可以实时控制旋转. 最少要做出绕z轴旋转. 原理:http://inside.mines.edu/~gmurray/ArbitraryAxisRotation/ArbitraryAxisRotation.html 或参见<计算机图形学> 1: #include "stdafx.h" 2: #include<gl/glut.h>…
[3D计算机图形学]变换矩阵.欧拉角.四元数 旋转矩阵.欧拉角.四元数主要用于:向量的旋转.坐标系之间的转换.角位移计算.方位的平滑插值计算.   一.变换矩阵: 首先要区分旋转矩阵和变换矩阵: 旋转矩阵:向量绕某一个轴旋转,用3x3的矩阵表示. 变换矩阵:向量的移动.旋转.缩放,用4x4的矩阵表示. 这里额外补充一个知识,就是三维坐标变换是用4x4矩阵(采用齐次坐标)而不是3x3矩阵的原因是:统一平移和缩放(本来是向量加法来描述)为矩阵乘法的形式来计算.所以旋转矩阵也扩展为4x4矩阵,这样一来…
计算机图形学(第2版 于万波 于硕 编著)第45页的Bresenham算法有错误: 书上本来要写的是以x为阶越步长的方法,但是他写的是用一部分y为阶越步长的方法(其实也写的不对),最后以x为阶越步长的方法总结. 分析书上的算法得: l  K初始值<=0  画出的是 x=0; l  0<K初始值<1  画出的是 1/k的直线; l  K初始值>=1  画出的是 y=x; 以下黑色的线是使用MoveTo,Lineto画出的,红色的是书上的程序画出的,蓝色的线是我修改后的直线(有除法),…
引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来.但看了一些资料甚至看了不少cg的语法之后,我们还是很迷茫,UNITY_MATRIX_MVP到底是个什么矩阵?它和v.vertex相乘出来的又是什么玩意?当这些问题困扰我们很久之后,我们才发现,原来我们是站在浮沙上筑高台,根基都没有打牢当然不可能盖得起高楼大厦了. 那根基是什么呢?大牛曰,计算机图形学. shader…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-…
第 1 章 图形系统概述        如今.计算机图形学的作用与应用已经得到了广泛承认.大量的图形硬件和软件系统已经应用 到了差点儿全部的领域.通用计算机甚至很多手持计算器也已经普遍具备 二维及三维应用的图形功能 . 在个人计算机上也能够配用多种交互输入设备及图形软件包 .对于高性能应用.能够选择很多高级 的专用图形硬件系统和技术 .本章将探讨图形硬件和图形软件包的基本特性 . 1.1    视频显示设备 图形系统一般使用视频显示器作为其主要的输出设备. 大部分视频监视器的操作是基于标准的 阴…
引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来.但看了一些资料甚至看了不少cg的语法之后,我们还是很迷茫,UNITY_MATRIX_MVP到底是个什么矩阵?它和v.vertex相乘出来的又是什么玩意?当这些问题困扰我们很久之后,我们才发现,原来我们是站在浮沙上筑高台,根基都没有打牢当然不可能盖得起高楼大厦了. 那根基是什么呢?大牛曰,计算机图形学. shader…
<计算机图形学方法原理应用> Opengl语言    光线跟踪   贝塞尔曲线  射线追踪   色彩理论  纹理映射 逆向运动   MPI  仿射   绘制流水线   透视变换   bresenham算法 扫描线插值   gouraud  homegeneous坐标   环境映射  终采样 光照模型phong  漫反射 rgb  hsl色彩 修枝相交  jacobi  gauss-seidel  southwell     Hermite    catmull-rom Bessel-overh…
计算机图形学 opengl版本 第三版------胡事民 第四章  图形学中的向量工具 一   基础 1:向量分析和变换   两个工具  可以设计出各种几何对象 点和向量基于坐标系定义 拇指指向z轴正方向    从x轴的正向握向y轴的正向,  可以分为左手和右手坐标系. 点A到点B的位移称为向量v       则v=B-A     尾-头 一个n维向量是一个n元组      w=(w1,w2,w3,...) 用矩阵来表示向量  更加方便清晰 2:向量的基本运算法则 向量a b      标量s…
opengl  计算机图形学 第三版   第二部分   第三章更多的绘图工具 3.1   概述 第2章中  我们绘图使用的是屏幕窗口的基础坐标系    以像素为单位 屏幕坐标从左下角x从0延伸到screenWidth-1         y从0向上延伸到screenHeight-1       只能使用非负的x和y 程序中用于描述对象几何信息    此过程为建模任务 在屏幕中如何将这个对象  按照一定比例显示出来    是一个观看的任务 使用最适合与手中问题的坐标系来描述对象,并且可以自动的缩放…
每年由美国计算机协会(Association of Computing Machinery,简称ACM)计算机图形专业组举办的年会SIGGRAPH,是全球最负盛名的图形学和交互技术盛会.今年已经是这场图形学盛宴的第四十四届,本届大会于7月30日至8月3日在美国洛杉矶举行. 作为著名的好莱坞所在地,洛杉矶聚集了大量影视特效等工业界的从业人员,而SIGGRAPH正是工业界展示自己炫酷技术,以及和学术界交流的一个绝佳平台,所以SIGGRAPH组委会多次选择洛杉矶作为大会举办地. 除了像其它学术会议一样…
计算机图形学:贝塞尔曲线(Bezier Curve) 贝塞尔能由贝塞尔样条组合而成,也可产生更高维的贝塞尔曲面.…
计算机图形学(Conputer Graphics):非均匀有理B样条 非均匀有理B样条(Non-Uniform Rational B-Spline)英文缩写,NURBS. 它是贝塞尔曲线的一个推广,而贝塞尔曲线可以视为均匀有理B样条.NURBS是计算机辅助设计(CAD).制造(CAM)和工程(CAE)中重要的组成部分,同时也是很多业界广泛采用的标准的一部分,例如IGES, STEP和PHIGS. 连续性 一个结构的曲面,例如,一艘机动游艇的船体,通常由几个NURBS曲面构成,称之为包(patch…
下面代码需要插入到MFC项目中运行,实现了计算机图形学中的L系统分形树. class Node { public: int x,y; double direction; Node(){} }; CString way[3] ;//提供三种生成规则 CString rule,temprule; int len ; //单步长 int angle; //旋转转角度 int degree ; //迭代次数 int x,y ; //原点坐标 Node stack[1024]; int stackpoin…
为方便大家学习,我将自己计算机图形学的课件分享. 下载链接:http://pan.baidu.com/s/1kV5BW8n 密码:eqg4 注:本课件与教材配套PPT有所不同.教材配套PPT是编写教材的几位老师根据自己所编内容提供的PPT组合而成.本课件主要是我自己在计算机图形学中所采用.因此两者还是有一些差别,以方便学习,同时也便于对照发现教材中一些错误. 有错误.问题或任何建议欢迎反馈给我(wpxu08@gmail.com). 谢谢!…
我的新书<计算机图形学基础(OpenGL版)>今年6月份在清华大学出版社出版了!新书与原在机械工业出版社出的<计算机图形学>相比,主要有以下不同: 1.加重OpenGL的内容,每章都附有一个完整的OpenGL实例代码: 2.实验教程更新并增加了2个实验,使图形学实验上机可以有更多的灵活性: 3.更新了部分模拟题: 4.增加了一章内容简单介绍动画(第10章): 5.在第一章绪论中,对图形学的内容体系做了一些阐述,希望能让读者对图形学有一个更好的整体认识. 为便于老师和同学们的学习.使…
跟着闫令琪老师的课程学习,总结自己学习到的知识点 课程网址GAMES101 B站课程地址GAMES101 课程资料百度网盘[提取码:0000] 计算机图形学概述 计算机图形学是一门将模型转化到屏幕上图像的一门基础学科,主要分为:Rasterization(光栅化).Curves and Meshes(几何表示).Ray Trancing(光线追踪).Animation/Simulation(动画和模拟) 图形学与计算机视觉的简单界限: (1) 计算机视觉是将屏幕上的图片转化为模型的过程; (2)…
目录 一.前言 二.原理 三.代码 一.前言 Blinn-Phong光照模型以Phong模型为基础的,提供比Phong更柔和.更平滑的高光,而且由于Blinn-Phong的光照模型省去了计算反射光线的过程,运算速度上更快,因此成为很多CG软件中默认的光照渲染方法,同时也被集成到大多数的图形芯片中,在OpenGL和Direct3D渲染管线中,Blinn-Phong就是默认的渲染模型. 简言之,Blinn-Phong光照模型提供的是非真实的光照,但这并不影响其在计算机图形学中的地位. 二.原理 Bl…
目录 一.点乘和叉乘 0. 向量表示 1. 点乘 2.叉乘 2.1 坐标运算方式 2.2 向量运算方式 2.3 叉乘的用途 二.Bounding Box 三.重心坐标 四.z-buffer 五.总结 一.点乘和叉乘 点乘和叉乘是向量运算中常用的两种运算符(如果没有记错的话,高中数学就涉及到这方面内容,并且本篇文章要介绍的和高中的哪些毫无出入,这里权当复习). 至于矩阵和向量的点乘和叉乘,这里不涉及,毕竟矩阵就是一堆向量的集合而已.同时对于向量运算时的一些注意事项,比如什么样的两个向量才能运算,本…
一: 关于能量守恒 出射光线的能量永远不能超过入射光线的能量(发光面除外).如图示我们可以看到,随着粗糙度的上升镜面反射区域的会增加,但是镜面反射的亮度却会下降.如果不管反射轮廓的大小而让每个像素的镜面反射强度(Specular Intensity)都一样的话,那么粗糙的平面就会放射出过多的能量,而这样就违背了能量守恒定律.这也就是为什么正如我们看到的一样,光滑平面的镜面反射更强烈而粗糙平面的反射更昏暗. 当一束光线碰撞到一个表面的时候,它就会分离成一个折射部分和一个反射部分.反射部分就是会直接…
最近读研期间上了计算机可视化的课,老师也对计算机图形学的实现布置了相关的作业.虽然我没有系统地学过图形可视化的课,但是我之前逆向过一些游戏引擎,除了保护驱动之外,因为要做透视,接触过一些计算机图形学的基础常识.这次的作业主要分为2个主要模块,一个是实现画线,画圆的算法,还有填充的算法,以及裁剪的算法. 之前工作的时候虽然参与过一些数据可视化大屏的设计,但是当时主要的工作使用Echarts或者G2做业务组件开发,并没有对画线,填充,裁剪等基础算法做过实现.这次就着这个机会我就想了解一些.实现的效果…
梁算法是计算机图形学上最经典的几个算法,也是目前唯一一个以中国人命名的出现在国内外计算机图形学课本的算法,我之前在介绍裁剪算法的时候介绍过这个算法 https://www.cnblogs.com/wkfvawl/p/11705842.html#_label3 这几天复习图形学,发现当时那篇博客写的很空洞,一些关键性的推理式子讲的不是很清楚,于是在这里仔细介绍一下. 最近发现中国大学MOOC上中国农业大学的赵明教授讲的很不错,课程短小精悍,感兴趣的同学可以去看一下https://www.icour…
http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-TileBasedArchitectures.pdf tbr 和tbdr是gpu的一种架构 硬件层面的事情和deferred shading是两回事 有关blend的开销 immediate模式 要走相对较慢的 memory   read-modify-write framebuffer tile based模式 就在on chip tile buffer上用专门的硬件…