关闭

在UE4中模拟NURBS曲线和曲面

最近在虚幻引擎4的官方商场上线了c++蓝图工程项目。该工程利用几何算法对NURBS曲线和曲面进行了模拟。包括knot插入、删除、细化,……曲线和曲面,所有这些曲线和表面都可以实时编辑。实现的算法都参考了《The NURBS Book》这本书。该项目工程包含了NURBS的基本算法的c++代码,想学习的朋友不容错过! 虚幻官方商城地址: https://www.unrealengine.c...
阅读(206) 评论(0)

利用OpenGL点精灵实现云模拟(Cloud Simulation Using OpenGL PointSprite)

这篇教程介绍一种利用OpenGL点精灵,也就是PointSprite来实现云的模拟。在网上找了一些资料和论文,都是模拟真实的云和光照,且都比较复杂。后来看到一篇文章,介绍了一篇相对简单但效果比较好的方法。首先建立好云的轮廓模型,可以使用3DMax或其他的建模工具,然后创建该模型的包围体,将包围体中属于云的部分抽取出来,最后对抽取出来的部分进行三角化,然后贴图,最后加上光照。受到该方法的启发,这里我介绍一种更为简单的方法来实现对云的模拟。和从文件读取云模型相比,用代码生成云的轮廓要快的多。云的轮廓我们可以用球...
阅读(7665) 评论(10)

B-spline曲面的法线贴图

在openGL Cg系列教程中,有一篇文章详细的介绍了法线贴图的原理和实现。这种法线贴图的实现是基于平面的,也就是最常看到的在四边形上的法线贴图。如果想在一些几何体上贴图,比如torus,我们可以利用torus的参数方程进行法线贴图。对于曲面,可以通过tessellation技术,将曲面用很多三角形网格来表示,然后再将三角形用两个参数s和t的参数方程来表示后,即可对该曲面进行法线贴图。对于B-spline曲面,这里介绍一种使用B-spline曲面方程来进行法线贴图的方法。...
阅读(6908) 评论(14)

光线追踪技术的理论和实践(面向对象)

这篇文章将介绍光线追踪技术。在计算机图形领域中,这种技术被普遍应用于生成高质量的照片级图像。在为一个场景计算光照的时候,通过固定图形渲染管线可以计算phong光照模型,由于该模型的特征,使得渲染的物体看起来有塑料的质感。如果要渲染一个有金属质感且能反射周围环境的物体,phong模型就无能为力了。和固定渲染管线相比,可编程图形渲染管线的力能要强的多,虽然可以实现很多逼真的光照效果,比如利用环境贴图来现实物体对环境的反射效果。但是这种环境反射只能反射出已经保存在Cube Map中的图像。在真实世界中,如果一个能...
阅读(17314) 评论(45)

OpenGL Vertex Buffer Objects(VBOs)

*原创文章转载请注明出处* OpenGL Vertex Buffer Objects(VBOs) Vertex Buffer Objects(VBOs)是一组保存在显存中的数据,这些数据可以是顶点,顶点颜色,顶点法线,顶点索引或贴图坐标等等。由于这些数据都是保存在显存中的,而且可以随时修改数据或整块替换数据,这样就极大的提高了显卡的工作效率和渲染的速度。VBO的概念类似于D...
阅读(12309) 评论(13)

openGL CG 系列教程07 – Toon Shader

*原创文章,转载请注明出处*      openGL CG 系列教程07 – Toon Shader 这篇教程将介绍一种卡通渲染(Toon Shader)的方法,卡通渲染属于non photorealistic rendering或简称NPR中的一种。卡通渲染一个物体看起来的效果就像卡通绘画一般,这里介绍一种简单的渲染卡通效果的方法。和一般光照渲染不同的是,卡通效果渲染的物体像...
阅读(5490) 评论(2)

openGL CG 系列教程06 – Normal Mapping (法线贴图)

*原创文章,转载请注明出处* openGL CG 系列教程06 – Normal Mapping (法线贴图) Normal Mapping(法线贴图),不论是在游戏开发还是其他计算机图形开发中都是使用很广泛的技术。如果一个物体的表面粗糙不平,物体顶点的法线也就朝向各个不同的方向,所以物体看起凹凸不平。要表现这样的物体,当然可以使用相当多的包含不同法线的顶点数据,这样做...
阅读(8827) 评论(1)

openGL CG 系列教程5 – Environment Mapping ( 环境贴图 )

*原创教程,转载请注明出处*openGL CG 系列教程5 – Environment Mapping (环境贴图) 利用物体材质specular属性来模拟高反光的物体是不够的。高反光的物体通常可以在表面反射出周围的物体,这样的效果需要通过环境贴图来实现。这篇教程将介绍如何利用Cg进行环境贴图。环境反射的原理很简单,一个光滑的物体表面可以根据我们观察的不同角度反...
阅读(7974) 评论(3)

openGL CG 系列教程4 - Lighting + Texture

*原创文章,转载请注明出处*openGL CG 系列教程04 – Lighting + Texture 前几个教程详细的讲解了使用可编程渲染管线实现如何实现光照。如果我们要渲染的模型是带有纹理,要想带有纹理的模型也应用于光照又该怎样实现呢?有的同学可能知道,在openGL的固定管线也可以设置TextureEnvMode模式为GL_MODULATE就可以实现光照和纹理颜色的混合。下面...
阅读(4077) 评论(3)

openGL CG 系列教程3-Pixel Lighting

*原创文章,转载请注明出处* openGL CG 系列教程3-Pixel Lighting 在上一篇教程中介绍了phong model下的一般光照,并且用Cg着色语言实现了固定渲染管线中gouraud shading光照效果。由于是基于vertex的光照,虽然采用gouraud shading要比flat shading效果好的多,但是和phong shading的效果相差...
阅读(3958) 评论(1)

openGL CG 系列教程2 - Vertex Lighting

*原创文章,转载请注明出处*openGL CG 系列教程2vertex lighting 之前的一篇教程HelloCG介绍了Cg的一些最基本的东西。这篇教程将介绍利用可编程渲染管线来实现光照。光照模型将采用广泛应用的phong模型,虽然这种模型在openGL的固定管线中已经实现了,但是学习该光照模型可以更加清楚的了解可编程渲染管线的流程。 首先要实现phong光照模...
阅读(5512) 评论(3)

openGL CG 系列教程1 - Hello CG

 *原创文章,转载请注明出处*OpenGL CG 系列教程1  -  Hello CG 这篇教程将介绍如果在openGL中使用CG(C for Graphic)语言。想在程序中使用CG,首先要下载并安装 NVIDIA的Cg Toolkit。( http://developer.nvida.com/CgTutorial ) 安装好后,在openGL程序中就可以添加cg.h和c...
阅读(8533) 评论(14)

openGL CG 系列教程

openGL CG 系列教程                         教程1  HelloCG             ...
阅读(4148) 评论(4)

在openGL中实现RayPicking

*原创文章,转载请注明出处* 在openGL中实现RayPicking 看过D3D入门龙书的朋友肯定知道,第十五章讲picking的时候,是利用拾取射线和包围球的的交叉测试来完成拾取的。但是在OpenGL中,我们知道是利用OpenGL渲染管线的特点,在拾取模式中采用拾取矩阵,然后检查selectbuffer的内容来判断拾取的。这两种方法各有各的好处。在进行OpenGl编...
阅读(5718) 评论(13)

OpenGL图形管线和坐标变换

*原创文章,转载请注明出处*OpenGL图形管线和坐标变换OpenGL Rendering Pipeline & Coordinate Transformation  1.    引言 学习计算机图形学首先要搞清楚计算机图形渲染管线。当今两大图形API,OpenGL和Direct3D都有自己的渲染管线。但是对于刚刚接触计算机图形学的同学来说,“图形管...
阅读(9363) 评论(11)

利用OpenGL进行模型表现

 利用OpenGL进行模型表现 这篇文章介绍一下用OpenGL来表现模型对象。比如用3DMAX等工具做好一个模型后,我们希望能够在自己的程序中使用它。一般使用这些工具的导出功能导出特定的文件,然后读取其中我们感兴趣的部分,再把这些感兴趣的数据在我们的程序中组织好就可以了。利用OpenGL来表现静态模型是很简单的。 这里为了简单起见,模型对象文件为txt文本,只包含了模型的顶点个数,...
阅读(4581) 评论(5)

深入理解OpenGL拾取模式(OpenGL Picking)

深入理解OpenGL拾取模式(OpenGL Picking)    在用OpenGL进行图形编程的时候,通常要用鼠标进行交互操作,比如用鼠标点选择画面中的物体,我们称之为拾取(Picking),在网上看了很多OpenGL拾取的文章,但大多是只是介绍在OpenGL中如何拾取,如何利用OpenGL提供的一系列函数来完成拾取,最多再简单介绍下OpenGL的名字栈(Name stack...
阅读(19708) 评论(55)

B-Spline Global Interpolation

B-Spline Global Interpolation     现在来考虑一个问题。在空间中有n个点,如何求过这n个点的曲线呢?比如,我们要求过已知点的三次B-Spline曲线,并且分别作为曲线的起点和终点。这样的问题我们称为B-Spline Global Interpol...
阅读(3827) 评论(8)

B-Spline knot insertion

B-Spline knot insertion   这里给大家介绍二个B-Spline曲线很重要的基本算法,knot insertion和knot refinement。Knot insertion就是指增加曲线knot个数,或者说改变曲线的knot vector空间,但是不改变曲线的...
阅读(2379) 评论(0)

基于B-Spline的刚体运动

基于B-Spline的刚体运动2009-09-02 之前我有一篇文章介绍了关于Bezier曲线和刚体运动的一些方面,现在再来介绍一下关于B-Spline曲线和刚体运动的一些东西。但不管是基于Bezier曲线的刚体运动还是基于B-Spline曲线的刚体运动,它们的核心都是一样的,都是要用一条...
阅读(3318) 评论(2)
30条 共2页1 2 下一页 尾页
    个人资料
    • 访问:182907次
    • 积分:2301
    • 等级:
    • 排名:第17035名
    • 原创:30篇
    • 转载:0篇
    • 译文:0篇
    • 评论:226条
    最新评论