自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

痞子龙3D编程

学无止境,三人行必有我师,把这几年收藏的文章都晒出来,大家共享吧!向原创者致敬!察而知不足,严谨,求真,务实;网络收藏夹

  • 博客(438)
  • 资源 (22)
  • 收藏
  • 关注

转载 OpenGL常识汇总

主题:这里将收集一些OpenGL中的常识。在日常生活中,我们积累生活常识越多,我们的生活就会越方便。同样的道理,如果我们积累的OpenGL常识越多,我们的开发过程就会越轻松。当列举这些常识的时候,我会尽量找到充分的,权威的资料去证明常识的正确性。通常情况下,我会摘抄经典书籍中的原话作为证据。闲话少数,现在就开始吧。1.坐标系在计算机图形学中有关于坐标系的内容。常见的三维坐标系有两种:左手坐标系

2010-03-31 11:25:00 1814

转载 CG 顶点脚本

CG 顶点脚本 nVidio的面向GPU的C语言,如果你相信它就好好学学吧,同样这里也只是个入门。记住,类似的语言还有微软的HLSL,OpenGL的GLSL,ATI的shaderMonker。不要选错哦:)                           使用顶点和片断脚本去做渲染工作可以得到额外的好处,最大的好处就是把CPU的一些工作交给了GPU,Cg提供了书写这些强大的

2010-03-30 16:51:00 2491

转载 OGRE 构建CEGUI

概述从Ogre 1.7 版本开始,Ogre中开始采用自己的接口来处理Sample中的演示程序,而不再依赖CEGUI界面库。 这意味着从现在开始,如果你需要使用最新版本的Ogre和CEGUI的话,你需要在自己的工程中构建CEGUI。你可以到这里下载Ogre 以及 下载CEGUI。 Step-by-step guide 1. Get the appropriate CEGUI

2010-03-30 16:39:00 2357

转载 几种多线程3D引擎架构的比较

首先我们得明确3D引擎使用多线程的目的所在:1、在CPU上进行的逻辑计算(比如骨骼动画粒子发射等)不影响渲染速度2、较差的GPU渲染速度的低下不影响逻辑速度      第一个目标已经很明确了,我来解释下需要达到第二个目标的原因:许多动作游戏的逻辑判定是基于帧的,所以在渲染较慢的情况下,逻辑不能跳帧,而仍然需要严格执行才能保证游戏逻辑的正确性,这就导致了游戏速度的放慢,而实际上个人认为渲染保持15帧

2010-03-30 16:38:00 1975

转载 vs2005下编译多线程的ogre1.6.0

1. 下载源程序     ogre-v1-6-0.zip     ogre dependence (OgreDependencies_VC8SP1_Eihort_20071227.zip)2. 解压,将ogre dependence 解压生成的两个文件夹放到ogre-v1-6-0.zip加压后的目录3.修改源码支持多线程    修改 ogreMain/ogreConfig.h  将#define

2010-03-30 16:36:00 1734

转载 OGRE 二维精灵SpriteManager2d

来自 Ogre官方 Wiki 在一些情况下,比如需要做一个界面,或者需要写一个小游戏而不是大型三维游戏,也可能只是需要Ogre进行二维的编程。但Ogre自身缺乏对在屏幕上绘制二维对象的能力。这里提供了一个简单的代码片段,用来解决这个在Ogre程序设计中遗留的小问题。 当然,Ogre中提供的Overlays(表层)和外部的CEGUI都很好很强大,但是他们却不能充分满足程序设计的需要。例如,写

2010-03-30 16:11:00 3256

转载 手把手教你如何配置和编译ogre 1.7.0 + cegui 0.7.1

转载自http://www.cnblogs.com/oiramario/archive/2010/03/03/1677461.html ogre 1.7.0的下载、配置和编译指南 ogre 1.7.0的下载地址:https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download ogre

2010-03-30 16:07:00 2318

转载 static_cast和reinterpret_cast的区别

大多程序员在学C++前都学过C,并且习惯于C风格(类型)转换。当写C++(程序)时,有时候我们在使用static_cast时可能会有点模糊。在本文中,我将说明static_cast泛型(Generic Types)        float f = 12.3;        float* pf = &f;        // static cast        // 成功编译, n =

2010-03-30 10:02:00 1258

转载 ANSI、unicode、utf-8、DBCS等字符集及相关数据类型、函数的区别

UNICODE环境设置 在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 UNICODE编译设置: C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE 在ProjectSetting/link/output 中设置Entry为wWinMa

2010-03-29 17:03:00 1701

转载 unicode,ANSI,UTF-8的故事

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的

2010-03-29 17:02:00 2959 2

转载 ASCII、ANSI、UNICODE及UTF-8编码

1.  ASCII和Ansi编码     字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为     单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码.     双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.

2010-03-29 16:57:00 1490

转载 STL 慎重选择容器类型

一、回顾C++提供的容器Ø        标准的STL序列容器vector、string、deque和list。Ø        标准的STL关联容器set、multiset、map和multimap。Ø        非标准序列容器slist和rope。Ø        非标准的关联容器hash_set、hash_multiset、hash_map和hash_mu

2010-03-29 16:24:00 1580

转载 C++运算符重载探讨

前言   多态性是面向对象程序设计的重要特征之一。它与前面讲过的封装性和继承性构成了面向对象程序设计的三大特征。这三大特征是相互关联的。封装性是基础,继承性是关键,多态性是补充,而多态又必须存在于继承的环境之中。   所谓多态性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。这里所说的消息主要是指对类的成员函数的调用,而不同的行为是指不同的实现。利用多态性,用户只需发送一般形式的消息,

2010-03-29 16:16:00 1250 1

转载 OSG向场景中添加osgParticle粒子效果

目的:向场景中添加自定义的osgParticle实例,模拟坦克模型在地形上运动时产生的烟尘。 ----------------------------- 概述:添加粒子效果可以有效提高仿真程序的外观和真实性。粒子引擎一般用于模拟烟雾,火焰,尘埃以及其他一些类似的效果。如果要向OSG场景中添加粒子效果,通常可以使用下面的一些类: 粒子系统(osgParticle::Part

2010-03-29 13:11:00 6078 2

转载 OSG使用OpenGL顶点着色器和片元着色器

目的:使用OpenGL着色语言中的顶点和片元着色器,替代原有的固化函数管道的光照和材质计算,用于场景图形中的节点选择。(砖块着色器程序来自3DLabs) ------------------------------------ 概述:OpenGL着色语言允许程序员编写自己的像素和顶点着色器。有关着色语言的更多信息,包括最低的硬件和软件需求,请参阅:http://develop

2010-03-29 13:09:00 6362

转载 OSG处理键盘输入

本章目标: ¶使程序具备将键盘事件与特定函数相关联的能力。在前面的教程中我们已经可以使用更新回调来控制炮塔的旋转。本章中我们将添加一个键盘接口类,实现通过用户的键盘输入来更新炮塔的转角。GUI(图形用户接口)事件处理器:GUI事件适配器和GUI动作适配器 ¶GUIEventHandler类向开发者提供了窗体系统的GUI事件接口。这一事件处理器使用GUIEventAdapter实例来接收

2010-03-29 13:07:00 6089

转载 OSG 实现跟随节点的相机

自OSG 0.9.7发布之后,新的osgGA::MatrixManipulator类(TrackerManipulator)允许用户将摄相机“依附”到场景图形中的节点。这一新增的操纵器类可以高效地替代下面所述的方法。本章教程将继续使用回调和节点路径(NodePath)来检索节点的世界坐标。 本章目标:在一个典型的仿真过程中,用户可能需要从场景中的各种车辆和人物里选择一个进行跟随。本章将介绍

2010-03-29 13:06:00 7402 2

转载 OSG碰撞检测

http://bbs.vrchina.net/viewthread.php?tid=5196&extra=page%3D1OSG碰撞检测碰撞检测涉及到虚拟仿真的各个方面,这里我主要介绍两方面的应用:一 判断摄像机是否与前面的物体相撞基本原理如下图:首先确定摄像机的旧位置和新位置(此处的新位置是假设前方没有障碍物所行进到的新位置),然后利用两点创建一条线段,然后判断这条线段与模型

2010-03-29 13:04:00 7537 1

转载 CEGUI 装载数据文件和初始化

From CEGUIWiki1 概览:数据文件和ResourceProvider 1.1 资源的提供 – 什么是ResourceProvider? 1.2 XML, XSD? 都是XML! 1.3 数据文件1.3.1 图片集1.3.2 字体1.3.3 Scheme 1.3.4 布局1.3.5 配置2 装载基本文件3 简单的默认初始化4 结论 1 概览:数据文件和ResourceProvid

2010-03-28 17:16:00 2343

转载 DIY OGRE的面部动画

 通过前面[1,2]将OGRE中的facial.mesh转换为xml进行分析后,明白了OGRE中Pose Animation的实现原理:在顶点初始位置与偏移位置(由poseoffset指定)之间进行线性插值。比如:顶点位置为:x = 1 , y = 1 , z = 1,poseoffset指定该点的相对偏移量为:pox = 2 , poy = 2 , poz

2010-03-28 17:12:00 1454

转载 XSI变形动画和OGRE(顶点动画)的制作 XSI Vertex Animation and OGRE Facial Animation

目前OGRE只有XSI 5.x、Maya的导出器及oFusion Pro for 3ds max(收费)支持顶点动画的导出,而在众多建模软件中XSI(http://www.softimage.com/)以其对变形动画的支持最为突出,OGRE提供的Facial Demo中使用的Dr. Bunsen的头就是XSI中提供的一个示例动画,该模型就是使用对顶点簇(cluster)的位置改变来产生动画。XSI

2010-03-28 17:03:00 1823

转载 编写CEGUI脚本入门

本教程所列的代码是Lua脚本,它用到了CEGUI自0.4版本起所绑定的CEGUILua模块。这些代码片段可能没有多少实际用途,但它们足以展示CEGUI和Lua结合起来使用的可能性。更改记录级别  local logger = CEGUI.Logger:getSingleton()--获取logger local lvl = logger.getLoggingLevel()  --获取记录级别  i

2010-03-28 16:38:00 2124

转载 CEGUI 类列表 Class List

Here are the classes, structs, unions and interfaces with brief descriptions: CEGUI::AbsoluteDim Dimension type that represents an absolute pixel value. Implements BaseDim interface  CEGUI::Activati

2010-03-28 16:17:00 3574

转载 基于GLUT的CEGUI DEMO

#include #include #include #include using namespace CEGUI;//#include "UIAnimationManager.h"// GLUT callback prototypesvoid drawFrame(void);void mouseMotion(int x, int y);void mou

2010-03-28 16:04:00 2641

转载 FreeGlut 框架

开 始CEGUI之前,先写一个Glut的框架程序。需要注意的是,这里使用的是FreeGlut而不是Glut。这是因为Glut中,调用了 glutMainLoop()之后,程序再也不返回了,而FreeGlut有一个glutMainLoopEvent函数,每循环一次就会返回。这给了我 们渲染CEGUI的机会。glut_loop.cpp#include voi

2010-03-28 15:51:00 1819

转载 分析CEGUI的最小资源定制

分析CEGUI的最小资源定制 本文针对只创建一个按钮(PushButton)的情况,分析CEGUI资源目录datafiles下最少可以放些什 么,并加以解释。[sihan@localhost datafiles]$ tree.|-- fonts|   |-- Commonv2c.ttf|   |-- Commonwealth-10.font|   `-- Font.xs

2010-03-28 15:48:00 2384

转载 OpenGL 创建一个CEGUI窗口

这里只给出代码,关于原理,参看CEGUI官网上的教程。本片对应CEGUI官网教程:The Beginner Guide to Getting CEGUI Rendering - How to initialise CEGUI to render properly. The Beginner Guide to Resource Groups - How to define r

2010-03-28 15:47:00 4155

转载 关于glew.h / glut.h引用

在OpenGL编程中,使用glMultiTexCoord2f( GL_TEXTURE0+i, x, y ); 你会发现这个函数都没有定义的,以及GL_TEXTURE0,这个常量。因为在vc编译器中,OpenGL的版本是1.1,版本比较落后,下个 glew库就可以了。安装的步骤,与glut一模一样,将dll动态链接库放在c:/WINDOWS:/system32; 头文件,可以搜索一下gl.h

2010-03-28 15:45:00 3699

转载 CEGUI 0.6和0.7区别 Porting from CEGUI 0.6.x to CEGUI 0.7.x

http://www.cegui.org.uk/docs/current/porting6to7.html Author: Paul D TurnerThis page lists the major breaking changes, and other related changes, made to the library for the 0.7.x series of rele

2010-03-28 10:42:00 2287

转载 VS2008 编译错误: 生成 cmd.exe 时出错 解决方法

偶然出现的一个小错误,记录一下解决方案:工具—>选项—>项目和解决方案—>VC++目录,在可执行文件栏中加上如下路径:$(SystemRoot)/System32 $(SystemRoot) $(SystemRoot)/System32/wbem 或者把$(PATH)改成:$(SystemRoot)/System32;$(SystemRoot) ;$(SystemRoot)/Sys

2010-03-27 22:07:00 2112 1

转载 C++随机数的用法

  学过别的高级语言的都知道,产生随机数用的都是类似于random这样的字符,c++也不例外,在C++中使用的是rand()函数,但是不同的是,如果在C++中只使用了例如 "int i;i=rand();"这样,使用程序会发现每次得到的随机数都是一样的,据了解在C++中这样做是为了方便调试。如果要每次都长生不同的随机数,我们则需要在C++中加上"srand(time(NULL));"这条语句,他的

2010-03-26 16:32:00 1611

转载 在OGRE中画图元 rendering your own stuff

We now go in the meat of these tutorials. Thats the real stuff. The one for big boys. This is where we will try to get a good understanding of the rendering process in Ogre and see how we can act

2010-03-26 15:58:00 3335

转载 OGRE中画点画线画三角面

学D3D的时候,知道,只要提供VectexData, IndexData,交给D3DAPI就可以给你画出来了,来到这OGRE里面还真给搞糊涂了,怎么画线?怎么画三角面?咱么自己创建一个简单的立方体mesh?所有的这些wiki的tutorial教程里面没有讲到!pity.不过,Wiki上面一些有点老的教程,讲到了,OGRE里面是如何处理OGR自己的定义的VectexData, IndexData,参

2010-03-26 15:55:00 2777

转载 OGRE 查询遮罩

查询遮罩所有的MovableObject允许你为它们设置一个遮罩,然后SceneQueries使你能够根据这个遮罩来过滤你的结果。所有的遮罩都是通过二进制“AND”操作来实现的 我们要做的第一件事就是创建这个遮罩值。本节利用手札22的代码找到MouseQueryListener类的最开始,将这些添加到public声明后面:      enum QueryFlags  {    

2010-03-26 15:16:00 1598

转载 OSG与CEGUI结合

首先我的系统中软件版本如下Visual Studio 2005 SP1OSG 2.3.7CEGUI0.6.0-vc8首先是osgcegui.cpp按照“yucnet”的介绍 稍作修改,另外 我觉得每次在命令行输入sheme、lookandfeel、font等参数比较麻烦 所以干脆在程序中写死了,具体的见代码。程序中使用的TaharezLook.scheme等都是在cegui的官方网站中下载的。 o

2010-03-26 13:52:00 5818 6

原创 osgcegui/osgcegui.cpp

Revision 6422, 8.6 kB (checked in by robert, 3 years ago) Removed deprecated drawImplementation(State&) method from Drawable and Drawable::DrawCallback?Property svn:eol-style

2010-03-26 13:47:00 2323

转载 在OSG下创建第一个CEGUI窗口

最近在做OSG与CEGUI结合的工作,感觉CEGUI在制作绚丽的GUI方面有着很强的优势,这也是很多游戏开发者对其推崇的原因吧。下面将介绍一下如何在OSG中创建自己的第一个CEGUI窗口,有兴趣的朋友可以多多指教。    首先,在工程开始添加所需的头文件(这个就不用我啰嗦了吧)。构建一个用于绘制CEGUI窗口的类CEGUIDraw继承自osg::Drawable。代码如下:class CE

2010-03-26 13:43:00 3664 1

转载 WindowXP下osgWX osgGTK osgQT osgCEGUI编译小节

这里osg我用的是2.4 但是 osgWX  osgGTK  osgQT osgCEGUI四个例子程序都是用的2.5里面的,我都是新建的VS2005下面的工程,只有osgWX不是Console的工程,而是_Windows的工程,然后我把源码拷贝到工程下,有些个别的需要修改一下。这里就不介绍osg的编译,下载和安装了。1)osgWX 即osg+ WxWidgetWxWidget的下载和安装:(1) 

2010-03-26 13:28:00 3143

转载 C++/CLR泛型与C++模板的对比

 Visual Studio 2005把泛型编程的类型参数模型引入了微软.NET框架组件。C++/CLI支持两种类型参数机制--通用语言运行时(CLR)泛型和C++模板。本文将介绍两者之间的一些区别--特别是参数列表和类型约束模型之间的区别  Visual Studio 2005把泛型编程的类型参数模型引入了微软.NET框架组件。C++/CLI支持两种类型参数机制--通用语言运行时(CLR)泛型和

2010-03-26 13:21:00 1515

转载 C++命名空间namespace

在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名空间与命名

2010-03-26 13:19:00 1779

projgrid-hq.pdf

海洋投影网格实现原理

2020-12-25

GPU Memory Model Overview.pdf

GPU Memory Model Overview.pdf GPU内存模型

2020-12-25

GDC breaking down

GDC breaking down

2020-12-25

9-TEXTURE COMPRESSION TECHNIQUES.pdf

TEXTURE COMPRESSION TECHNIQUES.pdf 贴图压缩技术

2020-12-25

Real-Time Adaptive Scalable TextureCompression for the Web.pdf

Real-Time Adaptive Scalable TextureCompression for the Web.pdf 实时web astc编码压缩

2020-12-25

IMPROVED ENCODING FOR COMPRESSED TEXTURES.pdf

IMPROVED ENCODING FOR COMPRESSED TEXTURES.pdf 贴图压缩的改进方法

2020-12-25

Rendering from Compressed Textures.pdf

Rendering from Compressed Textures.pdf 使用压缩纹理渲染

2020-12-25

Stacy_ASTC_white paper.pdf

Stacy_ASTC_white paper.pdf ASTC白皮书

2020-12-25

ASTC-GDC2013.pdf

ASTC-GDC2013.pdf astc 在GDC 2013的演示文档

2020-12-25

ASTC_User_Guide_102162_0002_01.pdf

ASTC_User_Guide_102162_0002_01.pdf astc 用户使用手册

2020-12-25

KHR_texture_compression_astc_hdr.pdf

KHR_texture_compression_astc_hdr astc 官方说明文件

2020-12-25

DX12DOCEN.chm

Direct3D 12 graphics SDK doc DX12 sdk 官方文档离线缓存 版本

2019-12-18

es_spec_3.2.pdf

OpenGL ES3.2说明书 规格说明书移动图形技术ES 3.2移动图形规范,最大变化一是继续汲取桌面版OpenGL的营养

2019-10-28

Developer_Track_5_ASTC-The_Future_of_Texture_Compression.pdf

Developer_Track_5_ASTC-The_Future_of_Texture_Compression ASTC相关介绍ARM制定的一个新的贴图压缩给格式,官网资料

2019-10-28

PowerVR.Supported+Extensions.OpenGL+ES.EGL.pdf

PowerVR.Supported+Extensions.OpenGL+ES.EGL.pdf opengl 扩展

2018-08-16

Unreal Engine 4 的光和影.docx

Unreal Engine 4 的光和影.docx 全面介绍 UE4中的光照

2018-08-16

Optimizing Texture Transfers

Optimizing Texture Transfers, 英伟达 显卡优化相关文档

2018-08-16

ShadowVolume 体积阴影DEMO

ShadowVolume 体积阴影DEMO

2010-02-05

OpenGL Direct3D 撰写的各种3D图形算法演示

OpenGL Direct3D 撰写的各种3D图形算法演示 OpenGL Direct3D 撰写的各种3D图形算法演示

2010-02-05

ogre+mfc框架程序

ogre+mfc ogre+mfc框架程序

2010-02-05

mfc + opengl

mfc + opengl mfc + opengl 框架程序

2010-02-05

屏幕录像VB源码 录制,播放,生成,编辑

屏幕录像 VB源码 录制,播放,生成,编辑 功能完善

2009-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除