![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Direct3D/OpenGL
暴熊
看英超,听歌,学习!
QQ:908965890
展开
-
shader复习与深入:Normal Map(法线贴图)Ⅰ(转)
这篇文章写得非常好,学习了,转zi自从看完那本《数学在计算机图形学上的应用》后,一直想好好地真正实践一次法线贴图/凹凸贴图呢(以前是根据橙书弄了一下罢了)。昨天偶尔看到篇涉及BumpMap的文,正好觉得是个机会,便在网上狂找相关资料——果然,越看越觉得自己还有很多理论的地方需要弄明白呢。本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明转载 2014-07-29 17:58:37 · 3818 阅读 · 0 评论 -
编译ogre 1.7.1的时候出现Could not locate DirectX'的解决方法
<br />编译ogre 1.7.1的时候出现<br />''Looking for DirectX...<br />DirectX_PREFIX_PATH changed.<br />Could not locate DirectX''<br />在系统环境变量里 设置 DXSDK_DIR "directx安装路径", ok,搞定!原创 2010-07-29 19:54:00 · 1580 阅读 · 0 评论 -
[转]3ds max sdk导出插件编写的心得
[转]3ds max sdk导出插件编写的心得作者:yhchinabest来自:CG先生-3D图形插件开发网http://www.cgsir.com/环境配置步骤1.首先你得有VS2005,3ds Max 9,如果有就好办了,否则想办法搞到手吧,在中国做到这点应该不难。至于其他相近版本的IDE和MAX,情况基本类似。 步骤2.在3ds Max9 SDK"maxsdk转载 2010-03-10 22:45:00 · 2609 阅读 · 0 评论 -
TGA类C++
tga 文件头信息如下图:代码如下:#ifndef __XETGA_H__ #define __XETGA_H__ #include "XEPrerequisites.h"namespace XE{struct TGA_HEADER{ unsigned short _width; ///<tga宽度 unsigned sho原创 2009-12-15 22:45:00 · 1910 阅读 · 0 评论 -
MPC—Shader—傻瓜教程 Ver.1.0(转)
转自http://bbs.ffsky.com/ShowJH.aspx?ID=9291 一:VMR9 renderless renderer的大致特点和MPC的运用方式。如果想仔细了解VMR,那么请自行参阅DirectShow文档(挺长,挺庞大的)本文旨在成为MPC shader编写傻瓜教程,所以不对DS,VMR原理和运用做详细解释。不同于其他的video渲染方式,VMR9 renderle转载 2010-02-21 21:08:00 · 4680 阅读 · 1 评论 -
模仿草的运动 – GPU(Pixel Shader & Vertex Shader)实现(转)
模仿草的运动 – GPU(Pixel Shader & Vertex Shader)实现 介绍 随着硬件的不断更新模仿草的运动不在需要循环播放一个重复的动画了,GPU的强大性能使得模仿更真实的草的运动得以实现。所以(^_^ )下面介绍做一模仿草的运动的Demo。 原理 1.泰勒级数的定义: 图1:转载 2010-02-21 22:42:00 · 3065 阅读 · 0 评论 -
着色器编程入门 - 顶点着色的基本原则(转)
着色器编程入门 - 顶点着色的基本原则出 处:中国游戏开发者 [ 2002-10-21 ]作 者:Wolfgang F.Engel 目 录 1.1 你要学习什么 1.2 需要的知识/设备 1.3 引言的体系 1.4 管道线内的顶点着色 1.5 为什么使用顶点着色 1.6 顶点着色工具 1.7转载 2010-02-21 19:56:00 · 14543 阅读 · 0 评论 -
静态模型的Lightmap(光照贴图)与Vertex-Lighting(顶点光照)之比较(转)
通常有个误解就是,Vertex-Lighting是一种不费的静态模型打光手段,因此应该被作为提升地图运行效率和减少文件尺寸的手段。这种观点,在这两方面其实都有问题Lightmap使用平展开的一套UV,如同普通皮肤贴图所需的。Lightmap的贴图大小可以灵活设置,比如64x64。这种方式提供了每像素的光照数据Vertex-Lighting使用的数据结构,包含每个顶点所受光照的亮度和色彩转载 2009-11-02 17:08:00 · 2440 阅读 · 1 评论 -
Sutherland-Hodgman多边形裁剪
typedef enum{ Left, Right, Bottom, Top } Boundary;const GLint nClip = 4;class wcPt2D{public: GLfloat x,y; wcPt2D(GLfloat _x, GLfloat _y) { x = _x; y = _y; } wcPt2D()原创 2009-09-25 20:01:00 · 2333 阅读 · 4 评论 -
Liang - Barsk 线段裁剪算法
GLint clipTest(GLfloat p, GLfloat q, GLfloat * u1, GLfloat * u2){ GLfloat r; GLint returnValue = true; if( p < 0.0 ) { r = q / p; if( r > *u2) returnValue = false; else if( r原创 2009-09-25 15:13:00 · 1855 阅读 · 0 评论 -
3D纹理的缘起(转)
<br />3D纹理的缘起 <br /> 现有的纹理贴图,就是将各种不同的2D平面图形贴在3D物体的表面上,同种物体使用同样的2D纹理,以此来简化表现不同种类物体的不同表面效果,既节省了系统存储和物体表面信息的资源,又比较真实地反映出了客观(或想象)的世界。2D纹理就是一张张的平面图形(往往是正方形的),因此只包括一个平面上的像素点(称图素,Texel),每个点在纹理内部只有二维的相对坐标(贴在物体上后就有三维的实际坐标了)。2D纹理由于过于简化,因此在各个方向上看起来并没有质地上的不同,如果物体是平滑的转载 2011-01-14 15:50:00 · 760 阅读 · 0 评论 -
向量在另一个向量上的投影(转)
转载 2011-05-11 13:17:00 · 2837 阅读 · 0 评论 -
Direct3D9: (WARN) :Ignoring redundant SetSamplerState Sampler(转)
<br />当DX Use Debug Version of Direct3D 9 时,发出警告:Direct3D9: (WARN) :Ignoring redundant SetSamplerState Sampler<br />原因见:http://www.devmaster.net/forums/showthread.php?t=13711<br /> <br /><br /> <br />这是引起上述警告的确切原因。Setting an effect's technique will cause a转载 2011-05-18 11:13:00 · 951 阅读 · 0 评论 -
shader复习与深入:Normal Map(法线贴图)Ⅱ(转)
shader复习与深入:Normal Map(法线贴图)Ⅱ转载 2014-07-30 20:18:42 · 7064 阅读 · 0 评论 -
安装DirectXSDK时提示Error Code s1023
安装DirectX最新版!!安装时遇到Error Code s1023试了好多办法都不行!!关掉所有程序还是不行!!感谢伟大的Google在一个英文网站上提到如果安装了Microsoft Visual C++ 2010 x86/x64 Redistributable 的版本大于10.0.30319 就会提示失败!将这个卸载掉就可以安装成功!!转载 2013-09-01 20:15:51 · 1154 阅读 · 0 评论 -
GLSL Versions和GLSL ES Versions 的之间的关系和区别
https://github.com/mattdesl/lwjgl-basics/wiki/GLSL-VersionsGLSL VersionsOpenGL VersionGLSL Version2.01102.11203.01303.1转载 2013-09-06 01:55:06 · 6993 阅读 · 0 评论 -
切线空间(Tangent space)详解
参考Mathematics for 3D Game Programming and Computer Graphics和ShaderX4上一篇关于tangent space计算的文章写的东西。对于计算时需要分裂顶点的内容看的还不是太清楚-_-b。另外,目前的算法还不能完美处理镜像或者在纹理不连续处可能出现的问题,就算在Farcry中,很多问题也是通过美工来“隐藏”的,再一次应证了之前对美工重要性的转载 2013-08-13 22:03:07 · 12992 阅读 · 4 评论 -
3D图形渲染管线
什么是渲染(Rendering) 渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景(如图1): 图1:Rendering什么是渲染管线 渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。一个流水线是一序列可以并行和按照转载 2013-08-24 17:53:46 · 1584 阅读 · 0 评论 -
为什么会出现__imp____glutInitWithExit@12和无法解析的外部符号
在编写OpenGL程序时,当使用到glut库时,编译能够成功,但是在执行的时候,就会 出现__imp____glutInitWithExit@12和无法解析的外部符号和__imp____glutCreateWindowWithExit@8无法解析。 这个问题的解决:在#include 之前(一定要在其前)加上下列代码: #ifndef GLUT_DISABLE_ATEXIT_HAC转载 2013-04-17 18:18:51 · 948 阅读 · 0 评论 -
Waypoint 与 NavMesh 比较(转)
3.5正式版终于出炉了 相比新的粒子系统 我更期待的是他自带的navmesh寻路以下是楼主搜来的一篇关于Waypoint 与 NavMesh 比较的博文 有兴趣的童鞋多研究下哦 图片:1.png图片:2.png图片:3.png图片:4.转载 2012-07-26 14:16:14 · 1263 阅读 · 0 评论 -
Navigation Mesh与Line-of-Sight Test(转)
上图是一个由任意凸多边形构成的导航网格,白线包围区域代表着不可进入的障碍区域,红线包围区域则可以进入或穿越。网格中所有多边形的顶点存储次序均为顺时钟序。在下面的讨论中,我们的运算一概采用左手系进行。假设当前所处的位置为p0,视线方向矢量为n0,p0位于多边形A中,我们知道每一条边的两侧的多边形的编号,现在的问题是:如果求得该视线途经了哪些多边形?与这些多边形的哪些边相交于何处(即Way poi转载 2012-07-26 14:29:01 · 1377 阅读 · 0 评论 -
《九阴真经》[Flexi引擎]渲染流程分析图(转)
原文链接:http://www.cnblogs.com/gameknife/archive/2012/02/17/2355570.html转载 2012-02-18 07:10:44 · 2235 阅读 · 0 评论 -
透视投影渲染2D纹理
<br />d3dUtility.h<br />#ifndef __d3dUtilityH__#define __d3dUtilityH__#include <d3dx9.h>#include <string>namespace d3d{ bool InitD3D( HINSTANCE hInstance, // [in] Application instance. int width, int height, // [in] Backbuff原创 2011-04-20 12:02:00 · 927 阅读 · 0 评论 -
Cohen-Sutherland线段裁剪算法
lass wcPt2D{public: GLfloat x,y; wcPt2D(GLfloat _x, GLfloat _y) { x = _x; y = _y; } wcPt2D() { x = 0; y = 0; }};extern int round(const float a);extern void li原创 2009-09-25 15:09:00 · 1619 阅读 · 0 评论 -
中心点画圆算法 实现
void circlePlotPoints(GLint xc, GLint yc, screenPt circPt){ setPixel( xc + circPt.getx(), yc + circPt.gety()); setPixel( xc - circPt.getx(), yc + circPt.gety()); setPixel( xc + circPt.getx(),原创 2009-09-23 22:57:00 · 2099 阅读 · 2 评论 -
bresenham 画直线算法
void lineBresenham(int nStartX, int nStartY, int nEndX, int nEndY){ int dx = abs(nEndX - nStartX); int dy = abs(nEndY - nStartY); if( dx == 0 ) { if( nStartY > nEndY ) { int tem原创 2009-09-23 22:52:00 · 1102 阅读 · 0 评论 -
opengl红宝书 第8章的代码中readImage()的简单解决方法(Intel 处理器上)
opengl红宝书 第8章的代码在Intel 处理器上, readImage()读取不正确.原因如下 :字节交换(byte swapping):高位优先(big endians)和低位优先(little endians)高位优先和低位优先,指的是两种不同的方式,把整数储存在计算机中的的方式。因为整数是多于一个字节的,那么,问题在于:最重要的字节是否应该首先被读写。最不重要的字节是变原创 2007-10-31 17:14:00 · 2227 阅读 · 0 评论 -
c语言读取bmp文件格式(转载)
转自http://topameng.spaces.live.com/blog/cns!F962D4854A8233D!325.entryc语言读取bmp文件格式//BMP 头typedef struct{ char id[2]; //bmp 文件标志 "BM" unsigned long fileSize;转载 2007-10-26 14:48:00 · 7151 阅读 · 0 评论 -
BMP文件格式简介(转载)
转自http://dsdm.bokee.com/5867426.htmlBMP文件格式简介简介位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependent bitmap,DD转载 2007-10-26 14:34:00 · 1679 阅读 · 0 评论 -
Source引擎 光能传递和凹凸贴图的革命性结合(转载)
转自http://hi.baidu.com/vrman/blog/item/faba6881f6501cd8bc3e1e3b.htmlSource引擎 光能传递和凹凸贴图的革命性结合 新的理念:“光能传递”和“凹凸贴图”的有机结合,《半条命2》渲染的核心技术 正如前面所述,实际上在《半条命2》出现以前,就有一些游戏中已经使用到了光能传递技术和凹凸贴图技术了。但是,还没有一款转载 2007-10-12 19:09:00 · 3570 阅读 · 2 评论 -
带偏移限制的视差贴图:一种粗糙表面的逐像素近似法(转载)
转自http://blog.csdn.net/coollen_mmx/archive/2007/04/29/1592044.aspxParallax Mapping with Offset Limiting:A Per-Pixel Approximation of Uneven Surfaces带偏移限制的视差贴图:一种粗糙表面的逐像素近似法 作者Terry Welshterry转载 2007-10-11 13:36:00 · 2628 阅读 · 0 评论 -
简介凹凸映射Bump Mapping(转载)
转自http://bbs.gameres.com/showthread.asp?threadid=20805 简介凹凸映射Bump Mapping 凹凸映射和纹理映射非常相似。然而,纹理映射是把颜色加到多边形上,而凹凸映射是把粗糙信息加到多边形上。这在多边形的视觉上会产生很吸引人的效果。我们只需要添加一点信息到本来需要使用大量多边形的物体上。需要注意的是这个物体是平的,但是它看起来却是粗糙转载 2007-10-11 11:38:00 · 1104 阅读 · 0 评论 -
图形世界分裂的两派——理清D3D和OpenGL的脉络(上)(转载)
转自http://blog.csdn.net/zypsg/archive/2006/03/21/630806.aspx[图形世界分裂的两派]计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术,API(Application Programming Interface)即“应用程序接口”是连接应用程序与操作系统、实现对计算机硬件控制的纽带,Direct3D和Op转载 2007-10-26 21:52:00 · 2134 阅读 · 0 评论 -
OpenGL版本与OpenGL扩展机制 (转载)
转自http://blog.csdn.net/yqxx/archive/2005/05/27/382513.aspx1 opengl的版本区别(在opengl官方文档中有详细说明) 针对Opengl不同版本的升级是主要是扩展指令集。 1.1 opengl1.1 1995年,SGI推出了更为完善的OpenGL 1.1版本。OpenGL 1.1的性能比1.0版提高转载 2007-10-28 11:03:00 · 1158 阅读 · 0 评论 -
如何在windows平台开发OpenGL程序使用OpenGL1.2或更高版本
微软为了维护Direct3D,对OpenGL的支持很消极,其OpenGL实现仍然是1.1。由于Windows上的OpenGL程序最终都会动态链接到微软的OpenGL32.dll,可OpenGL32.dll只支持OpenGL 1.1,使我们不能直接使用1.2或者更高版本的OpenGL,仍然要用扩展访问OpenGL1.1以来新增的功能。 一: gl 的扩展: 推荐使用下面2个扩原创 2007-10-27 18:07:00 · 5373 阅读 · 1 评论 -
Direct3D 10系统简介(一)(转载)
转自http://blog.csdn.net/soilwork/archive/2006/06/30/853481.aspxDirect3D 10系统简介(一) 译注:这篇文章是MS在SIGGraph 2006上发表的论文,点击这里下载原文摘要 本文描述了第四代PC平台上图形图像单元(GPU)的系统构架。与上一代图形管道相比,新的管道有了重大改变,引入了一个转载 2007-10-26 16:00:00 · 917 阅读 · 0 评论 -
比较bump mapping &amp; parallax mapping(转载)
转自http://chaz.cnblogs.com/archive/2005/10/19/82752.html比较bump mapping & parallax mapping使用bump mapping能得到更多的光照细节,其原理就是纹理映射对每个像素的法向量进行扰动。 首先要将每个顶点转换到其切线空间(tangent space)中去。该空间由tangent, binormal(bit转载 2007-10-12 19:56:00 · 1191 阅读 · 0 评论 -
浅谈平方法求向量的模(转载)
转自http://www2.chinaedu.com/101resource004/wenjianku/200422/101ktb/lanmu/XF1S0153/XF1S0153.htm 浅谈平方法求向量的模求向量的模是向量运算问题中的常见题型,解答这类问题时,可先考虑欲求向量的平方,应用向量的运算公式、法则求出其平方值,然后再利用公式,将其两边开平方即可巧妙地求得该向量的模。现举例解转载 2007-10-14 00:25:00 · 2138 阅读 · 0 评论 -
opengl红宝书第11章, gluTessCallback函数的例子在vs.net编译不过的解决方法
今天学习opengl红宝书第11章时, 用到gluTessCallback(tobj,GLU_TESS_BEGIN,glBegin),居然编译不过, 上网查了一下,不少人也遇过这个问题,这种格式在c中是可以通过的,但是在vs.net中比较严格,所以不能通过 ,解决办法也就是强制转换: gluTessCallback(tobj, GLU_原创 2007-11-03 16:00:00 · 1844 阅读 · 1 评论 -
一个游戏程序员的学习资料(转)
想起写这篇文章是在看侯杰先生的《深入浅出MFC》时,突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无疑会带上强烈的个人喜好色彩,比如对网络,数据库等重要方面完全没有涉及。因为自己主要对三维图形引擎,人转载 2009-05-20 22:49:00 · 1806 阅读 · 0 评论