openal:OpenAL教程(五)

Openal教程( 5) 源共享缓冲区在这章中我们将讲解如何在你缓冲区中共享多个源这是个非常合理自然步筹非常容易你完全可以跳过这章但对于愿意读这章朋友你将发现他非常有趣我们将准备好ALC层以便我们能用第 4章知识让我们开始吧在这章中我们将用矢量来自标准模板库因此确定你是否安装了他最好还有些有关他知识在这章中我不会讲STL// 表明缓冲区.#&nb... [阅读全文]

direct3d:在Direct3D中渲染文字

在遊戲中文字信息顯示是必不可少本章將討論在D3D中使用 3種顯示字體思路方法同樣這裡只列出每種思路方法演示主體框架學完本章將達到如下目標: l 學習如何使用ID3DXFont接口渲染文字 l 學習如何使用CD3DFont類渲染文字 l 學習計算遊戲幀速度思路方法 l 學習使用D3DXCreateText函數創建3D文字 ID3DXFont要在D3D輸出文字使... [阅读全文]

occlusion:Occlusion Cull

   隐藏面剔除算法出现是基于以下现实在游戏场景中你不必每帧都将所有物体渲染到屏幕上它作用主要有两个:个是减少GPU屏幕填充率另个是减少CPU和GPU传输带宽根据当前硬件现状GPU填充率已经不存在任何问题而现在唯限制位于AGP上它那可怜点带宽已经成为图形渲染瓶颈因此当前HSR算法大部分都放在CPU端来做以尽量减少每帧需要传输数据量这里你不需要对CPU负担感到... [阅读全文]

neheopengl:Nehe OpenGL Lesson 13 Bitmap Fonts 翻译

  欢迎来到另课教程这次我将教你如何使用位图字体也许你会对自己说:“在屏幕上显示文字有什么难?”但是你真正尝试过就会知道它确实没那么容易   当然你可以载入段美术把文字写在个图片上再把这幅图片载入你OpenGL中打开混合选项从而在屏幕上显示出文字但是这种做法非常耗时而且根据你选择滤波类型最终结果常常会显得很模糊或者有很多马赛克另外除非你图像包含个Alpha通... [阅读全文]

exposure:曝光(Exposure)

世界看起来是什么样?   是啊,这个世界上有些东西看起来是那么漆黑,比如山洞,煤,晚上床底等.而有些东西即使在晚上看起来也不是那么黑暗,比如沙子,以及人脸.有些部分是明亮,白衬衣,雪,灯泡,而有些东西当然是非常耀眼,如聚光灯,天空,太阳以及激光等.计算机图形看起来是什么样?   在显示器上显示图像有个亮度范围,般来说是255,从0(黑色)到255(白色)的间... [阅读全文]

neheopengl:NeHe OpenGL Lesson 14 OutLine Fonts 翻译

Lesson 14 轮廓字体(Outline Fonts)   这节课继续上节课课内容在第13课我们学习了如何使用位图字体这节课我们将学习如何使用轮廓字体  创建轮廓字体思路方法类似于在第13课中我们创建位图字体思路方法但是轮廓字体看起来要酷100倍!你可以指定轮廓字体大小轮廓字体可以在屏幕中以3D方式运动而且轮廓字体还可以有定厚度!而不是平面2D使用轮廓字... [阅读全文]

avi文件播放器:Nehe36课 在OpenGL中播放AVI文件

在开始时候我应该说我对这篇教程感到自豪是Jonathan让我有了写个OpenGL中AVI播放器想法开始时候我翻遍了我所有编程书籍但没有本谈到了AVI文件于是我在MSDN中寻找有关AVI格式资料MSDN中有许多有用信息但是我需要更多信息 在网上找了几个小时AVI例子的后我仅发现了两个有关这方面网站WebSite我不是说我使用搜索引擎能力很惊人但是99.9%时间... [阅读全文]

skeletal:骨骼动画(Skeletal Animation)(四)

我们目标是根据骨骼动画来更新模型看看手上材料 1)骨骼动画数据上节中我们已经读出了AnimationSet、Animation和AnimationKey这些动画数据我们现在要做就是把它们应用到骨骼上面去AnimationSet只是标明了我们要播放动画名称关键处理在Animation和AnimationKey上面Animation包含了所对应骨骼名称下属Ani... [阅读全文]

radiosity:Radiosity Algorithms in BSP Scene

  在我翻译BSP技术详解文中对radiosity技术介绍非常简单而且很多地方都没有解释清楚下面我将结合自己研究结果对如何在BSP场景中进行radiosity做下介绍这里只介绍关键步骤至于详细实现细节请自己参考相关代码   通常如果需要在个构建好BSP场景中进行radiosity计算大概需要下面几个步骤:1、将场景中每个face分解为patch;2、对每个p... [阅读全文]

porter:Nehe32课 模型的绘制Brett Porter

这个工程源文件是从PortaLib3D库中提取出来我开发这个库是为了让使用者仅添加很少代码就可以显示模型既然你能信任这个库那么你应该明白它是如何工作本教程目就是帮助你明白这些代码 教程中这部分PortaLib3D代码保留了我版权声明但这并不意味着你不能使用它们它仅仅是表明如果你复制-粘贴这些代码到你工程中你必须付费就是这样子了如果你读懂理解了这些代码并且自己... [阅读全文]

地形图绘制:Nehe35课 用高度图绘制地形

欢迎来到另个令人激动教程!本课代码作者是Ben Humphrey它是基于第课OpenGL框架现在你应该已经是个OpenGL行家了吧{笑}把这些代码移到你代码中只是瞬间事了! 本教程将会教你怎样利用高度图创建看起来很棒地形对于那些还不知道什么是高度图人我会给出个比较简单解释简单说高度图就是从个面上位移对于那些还在抓着头问“这个人在讲什么?!”人…高度图代表了我... [阅读全文]

directx9.0c:深入Managed DirectX9(十七)

第十章 使用助手类(Using the Helper Classes)绘制直线  在第 4章里我们就讨论过有关绘制直线问题:使用基本图元里line list或line strip绘制直线但是这两种直线都不能改变宽度也没有抗锯齿功能(除非整个场景都使用了抗锯齿)  对于区别类型应用来说绘制直线可能是最普通常见操作也可... [阅读全文]

directx9.0c:深入Managed DirectX9(十八)

Rendering to Surfaces  你是否玩过那种可以打开个倒视镜赛车游戏?或者可以在屏幕表面显示当前赛道赛车游戏这些效果都是通过把同个场景(通常使用区别摄像机)渲染为个纹理来实现事实上这虽然听起来很复杂却相当容易实现再从第 5章例子开始首先自然先声明将用来渲染纹理添加代码:private Texture renderT... [阅读全文]

directx9.0c:深入Managed DirectX9(十九)

第十章 可编程渲染管道以及高级着色语言入门  至今为止我们都在使用固定功能管道(fixed-function pipeline)进行渲染回到那段古老日子(DirectX 8.0的前)这是唯渲染物体思路方法固定功能渲染管道本质上就是系列用来控制如何渲染特定类型数据规则以及行为虽然在某些方面这已经够用了但却限制了许多开发人员使用高级功能能力举... [阅读全文]

directx9.0c:深入Managed DirectX9(二十)

使用可编程管道渲染Mesh  简单 3角形例子唯特点就是:简单你不可能只使用个顶点和个 3角就完成个游戏因此这节我们将渲染整个mesh删除文件里有关顶点和顶点缓冲声明添加mesh对象:private Mesh mesh = null;对于渲染mesh来说有个方便地方就是在渲染时会自动设置vertex declaration... [阅读全文]

directx9.0c:深入Managed DirectX9(十四)

使用纹理资源  Managed DirectX中所有纹理资源都继承于BaseTexture类而BaseTexture类又是从Resource类继承而来下面列出了BaseTexture对象中几个新思路方法LevelCount   This read-only property species the numb... [阅读全文]

directx9.0c:深入Managed DirectX9(十五)

第 9章 使用其它Mesh类型简化Mesh(Simplying Meshes)  我们花了大量时间来学习扩展库中基本Mesh类但实际上还有3种其它Mesh类型我们没有讨论过在这章中我们就来看看这几个对象我们已经知道如何通过使用Mesh类Simply思路方法创建个简化过mesh通常情况下使用简化mesh只是为了显示低细节模型但在任何场景中都不可能为... [阅读全文]

directx9.0c:深入Managed DirectX9(十六)

 现在运行可以看到和原来样效果显示了所有细节模型不停旋转现在来处理移动摄像机键盘事件这里代码和的前simplication mesh例子里很相似先声明摄像机位置变量以及每次移动距离常量private float cameraPos = 580.0f;private const  MoveAmount... [阅读全文]

directx9.0c:深入Managed DirectX9(十三)

第 8章 理解资源(Understanding Resoruces)资源是在Direct3D中渲染复杂对象重要部分在这章学习中我们将会讨论有关资源些高级特性包括:  静态和动态资源  Updating the buffers d in meshes  使用各种锁定标志  使用不安全代码最优化性能初识Reso... [阅读全文]

directx9.0c:深入Managed DirectX9(十二)

(接深入Managed DirectX9(十))  现在可以正式添加代码来优化mesh了我们希望同时保留原来mesh(经过clean那个)和简化的后mesh因此首先田间个变量保存简化的后meshprivate Mesh simpliedMesh = null;的后添加创建简化过mesh在LoadMesh思路方法最后添加如下... [阅读全文]

directx9.0c:深入Managed DirectX9(六)

更多渲染技术在讨论过了基础渲染思路方法的后,我们应该把注意力放到些能提高性能,并且让场景看起来更好渲染技术上来:渲染各种图元类型至今位置我们只渲染过种类型图元称为 3角形集合实际上我们可以绘制很多种区别类型图元下边列表描述了这些图原类型:PoList――这是个自我描述图元类型它把数据作为系列离散点来绘制不能使用这种类型绘制indexed primitiv... [阅读全文]

directx9.0c:深入Managed DirectX9(七)

定义Mesh  虽然有很多时候你需要手动创建顶点和索引数据但更普遍情况是从外部资源加载已有顶点数据比如从个文件通常我们使用.X文件来保存这些信息在前章里代码大部分都用来创建几何体了对于简单 3角形和立方体来说这似乎是完全可行但设想假如用相同方式来创建拥有上万个顶点物体将所花费时间和努力都将是很可怕  幸运是Managed DirectX里有个可以封装并且... [阅读全文]

directx9.0c:深入Managed DirectX9(八)

使用Managed DirectX编写游戏选择游戏  虽然很多有关3D游戏编程高级主题还没有讨论但我们已经有足够背景知识来写个简单游戏了这章我们将使用至今学过知识再加上点点新东西来创建游戏  真正开始写游戏的前最好先拟份计划我们需要确定写什么类型游戏它将有哪些最基本特性等等考虑到目前技术限制自然不能写太复杂游戏这将是个简单游戏在MS-DOS环境下曾经有个... [阅读全文]

directx9.0c:深入Managed DirectX9(九)

特别提示:  为什么需要使用时间呢?为了方便讨论假设我们每帧都把赛道移动相同距离也许在你电脑上它运行很完美但在其他系统上呢?找台比你系统配置低系统运行看看吧赛道看起来会运行相当缓慢同样换到配置较高系统上赛道又会移动快很多原因在于你计算是基于帧速率(frame rate)假设在你系统上每秒可以跑60帧那么所有计算过程都是依赖于这个静态帧速率而来因此在每秒可... [阅读全文]

directx9.0c:深入Managed DirectX9(十)

(接 Managed DirectX9  9)添加障碍物  恭喜这就是你创建第个3D互动了已经完成了模拟赛车移动虽然实际上是赛道在移动但显出效果确实是赛车在移动至此游戏已经完成大半接下来是添加障碍物时候了和添加Car类样添加个名为Obstacle类我们将使用区别颜色形状mesh作为障碍物通过mesh类创建stock对象可以改变mesh类型... [阅读全文]

directx9.0c:深入Managed DirectX9(十一)

Using Advanced Mesh Features这章我们将要调论些有关Mesh对象高级特性包括:    优化(Optimizing)mesh数据    简化(Simplying)mesh    使用新顶点数据元素创建mesh    连接(Welding)顶点克隆Mesh数据  终于你可以在场景里加载并渲染mesh了虽然场景里只有少... [阅读全文]

directx9.0c:深入Managed DirectX9(五)

使用简单渲染技术  至今为止我们渲染工作效率都很低每次渲染场景时都要分配新顶点列表并且所有东西存储在系统内存里现代显卡集成了足够显存把顶点数据存放在显存可以获得大幅新能提升:存放在系统内存里数据渲染每帧时都要拷贝到显卡这会带来极大损失只有移除每帧时这种分配才能帮助我们提高性能使用顶点缓冲(Using Vertex Buffers)  Direct... [阅读全文]

directx9.0c:深入Managed DirectX9(二)

3维化 3角形  再来看看我们看起来并不是那么“ 3维”而且我们所做都能用GDI+轻易完成So我们应该怎样在3维空间里绘图并且给人留下深刻印象呢?实际上简单修改就能达到这样效果  如果你还记得先前在我们创建第个 3角形时候我们使用了个叫做“经过变换”(transformed)坐标系统这种坐标是显示器屏幕区所使用坐标也是最容易定义如果我们使用未变换过坐标系统会怎... [阅读全文]

directx9.0c:深入Managed DirectX9(三)

拖放窗口时自动重置Device  任何曾经使用C或VB开发DirectX3D人都知道在改变窗口大小时需要重新设置devicd否则DirectX3D会按原来分辨率继续渲染场景并且把结果拷贝到(通过拉伸)新窗口当通过Windows FormControl控件创建device时聪明Mamaged DirectX能发现你改变了窗口大小并且重置device... [阅读全文]

directx9.0c:深入Managed DirectX9(四)

选择正确Device  The number of possible permutations when cretion a device is quite staggering. 如今市场里有大量区别类型显示卡记住每种显卡所支持特性几乎时不可能你应该询问device... [阅读全文]
< 1 2 3 4 5 6 7 8 > 共227条 分8页