
GPU
文章平均质量分 90
pizi0475
这个作者很懒,什么都没留下…
展开
-
How bad are small triangles on GPU and why?
Small triangles is bad for performance and this is not something new. In this post, we are just looking at some numbers to quantity these bad performance.转载 2023-03-02 09:27:55 · 1113 阅读 · 2 评论 -
What is Write-Combined memory
http://makble.com/what-is-writecombined-memoryWhat is Write-Combined memoryWrite-Combining can batches writes to the same cache line so they can be transferred in a single bus clock.The data will be combined and stored in the write combine buffer, an转载 2020-08-03 18:08:25 · 4358 阅读 · 1 评论 -
GPU技术趋势
现代技术允许今天的处理器设计者把极大的计算资源合并入最新的芯片中。这些体系结构的挑战是把能力的增加转换成性能的增加。过去十年图形处理器的发展表明,GPU设计者令人吃惊地完成了这项任务。在本章中,我们分析影响GPU构建方式的技术和体系结构的趋势,以及在未来可以预计的情况。29.1 技术趋势作为计算机用户,我们已经习惯了与上一代相比,每一代新计算机硬件都运行得更快,也有了更多的功能,而且通常转载 2010-04-07 11:04:00 · 2733 阅读 · 0 评论 -
一种软阴影的实现方法
软阴影www.GameDev.net 作者:Anirudh.S Shastry http://www.gamedev.net/reference/articles/article2193.asp译者:赟赟带图片的word文档在附件中 介绍最初,动态阴影技术只有在有限的几种情况下才能实现。但是,随着强大的可编程图形硬件的面世,动态阴影技术已经完全取代了以前的如light map这样的静态阴转载 2010-04-07 11:06:00 · 2482 阅读 · 0 评论 -
Shadow Map在DirectX9.0 SDK Sample 的实现方法
作者:李剑鹏Email:kalashnikov2986@163.com GameRes游戏开发资源网http://www.gameres.com 授权发表 一.前言这个教程主要面对DirectX9.0的初学者,文中代码说明部分以DirectX9.0c SDK(August2006)中的ShadowMap Sample 为例进行讲解。如果没有D3D矢量运算基础,HLSL,或是对D转载 2010-04-07 11:13:00 · 2402 阅读 · 0 评论 -
ShadowMap的实现 -- 正中要害简化版
经过一天断断续续对SDK例子的学习.我终于自己实现了ShadowMap…下面总结一下学习的心得.先简要概括一下实现ShadowMap的步骤,首先在灯光视角下对需要渲染阴影的场景进行渲染, 通过特殊的shader把整个场景的深度值储存到一张浮点纹理上, 然后在观察视角正常渲染整个场景,渲染的时候通过特定的shader将场景的每个象素的深度值与上一步中得到的深度值进行比较.就能渲染出场景的阴影. 简转载 2010-04-07 11:16:00 · 1489 阅读 · 0 评论 -
GPU流式编程
现代的GPU,在计算历史中第一次把数据并行、流式计算平台放入几乎每台台式计算机和笔记本电脑中。一些最近的学术派研究论文——以及本书的其他章节——演示了这些流式处理器有能力加速范围很广的应用程序,而不仅仅是它们本来所针对的实时渲染。然而,要利用这个计算能力需要使用一个对很多程序员来说是陌生的,完全不同的编程模型。本章探寻了在CPU和GPU编程之间最基本的差别之一:存储器模型,它不像传统的基于CP转载 2010-04-07 11:18:00 · 5081 阅读 · 1 评论 -
实时阴影技术
7.2 实时阴影技术 在游戏中为了实现更逼真的自然效果,就要体现游戏场景中光与影的效果,有时候光影效果会是游戏中的一个主要成分,能极大地改变玩家的游戏体验,如图7-5所示。图7-5 游戏中的实时阴影7.2.1 阴影体在3D动作游戏中,GPU往往要面对绘制大量光影效果的场景,而游戏的光影效果越复杂,提供的视觉真实感就越好。但复杂的光影计算往往需要耗费大量的计算资源,导致转载 2010-04-07 11:19:00 · 3047 阅读 · 0 评论 -
Direct3D模板技术
网络游戏客户端编程 学习目标1.掌握模板的概念2.掌握模板的使用方法3.掌握阴影体的概念4.掌握实时阴影的技术实现知识背景1.掌握D3D程序的基本框架2.掌握D3D基本图形的绘制本章要点1.模板缓冲2.阴影体3.实时阴影的技术实现引 言在现在的3D游戏中,有一项特效是非常重要的,那就是阴影。可以说阴影是游戏仿真度的一个非常重要的指标转载 2010-04-07 11:21:00 · 2814 阅读 · 1 评论 -
GLSL实现HDR Rendering
HDR - 全称High dynamic rang,是目前流行的3D特效技术.其基本原理是:虽然在计算机图形中可以使用完全的浮点型来表 示颜色,但之前由于一直受到硬件的限制,从外部载入的纹理格式大多只能以每种颜色成分用一个字节来表示,也就是0-255, 当这个低范围的颜色值转换为浮点型之后就会导致一定量的颜色间隔,而HDR技术通过采用浮点型的外部纹理格式弥补了原来 整型纹理格式所导致的颜色间隔转载 2010-04-07 11:22:00 · 2630 阅读 · 1 评论 -
高光贴图+法线贴图
日志分享给好友复制网址隐藏签名档小字体 上一篇 下一篇 返回日志列表 高光贴图+法线贴图 编辑 | 删除 | 权限设置 | 更多▼更多▲ 设置置顶 推荐日志 转为私密日志 痞子龙/wx 发表于2009年07月27日 20:58 阅读(16) 评论(1) 分类: GPU 权限: 公开转载 2010-04-07 11:30:00 · 6835 阅读 · 1 评论 -
顶点声明
从概念上讲,顶点声明是对顶点直接内存访问(DMA)以及图形流水线的 tessellator 引擎进行编程的一种方法。顶点声明简要地表示了数据的布局及 tessellator 操作。为了解决Microsoft® DirectX® 8.x中顶点声明的复杂性和可扩展性,9.0版引入了用来表示顶点数据流的新格式。 顶点着色器和顶点声明不再是在Cr转载 2010-04-07 11:31:00 · 2693 阅读 · 0 评论 -
用顶点着色器实现渐变动画
日志分享给好友复制网址隐藏签名档小字体 上一篇 下一篇 返回日志列表 用顶点着色器实现渐变动画2.3.1渐变动画(Morphing) Morphing渐变是20世纪90年代出现的一种革命性的计算机图形技术,该技术使得动画序列平滑且易于处理,即使在低档配置转载 2010-04-07 11:34:00 · 2212 阅读 · 0 评论 -
将顶点着色器与顶点声明分离
在Microsoft DirectX 9.0中,顶点着色器和顶点声明不再是在创建顶点着色器(CreateVertexShader)的时候绑定在一起。对着色器的验证已经被分成两部分,一部分在顶点着色器创建时执行,另一部分在绘制(DrawPrimitive)时执行。把DirectX 8.x的顶点声明映射到DirectX 9.0的顶点声明 把FVF码映射到DirectX 9.0的顶点声明转载 2010-04-07 11:36:00 · 3178 阅读 · 0 评论 -
directx + hlsl实现水面效果
假期没事干,就自己找了点事情干,做个水面的效果,曾经在网上看到好多人做的水面都很漂亮,那时,心里就暗暗较劲,自己什么时候也能做出这样完美的水面呢?花费了3天时间研究书和网站上的方法,终于做出比较不错的水面了。。。以下是愚的简单方法,不一定完全正确,而且我觉得找到一个好的波动方程真的是看人品的。。。网上的东西试验过了,最后还是自己结合起来写了一个波动方程。。。很简单粗糙的,不过效果不错~1、自己第一转载 2010-04-07 11:37:00 · 4376 阅读 · 0 评论 -
DX9 Update中的HDRLighting Sample分析
这里着重分析整个渲染过程,至于HDR就不介绍了。(下面是流程图) HDR的流程大概为:1,使用高亮度渲染场景,并保存为浮点数纹理。- 应用HDR环境贴图。- 应用高范围的材质,光源和照明模型。(即不必被局限在0~1里)2,将高亮区域取出,保存为浮点数纹理。- 在pixel shader里判断该像素的亮度是否大于阀值。vec3 color = texture转载 2010-04-07 11:38:00 · 2979 阅读 · 0 评论 -
Direct3D提高篇之:HLSL编程实现PhotoShop滤镜效果
Direct3D提高篇之:HLSL编程实现PhotoShop滤镜效果潘李亮 2007-3-16xheartblue@163.com关于学习,中国有句古话叫“学以致用”,可见把学到的东西用于实际实践中是多么的重要,现在学习Direct3D/HLSL的人非常多,教程也非常多。但是很多人不知道看完这些教程后该干什么,或者说可以怎么利用学到的知识,本文针对已经学习过Direct3D/HLS转载 2010-04-07 13:06:00 · 3021 阅读 · 0 评论 -
HLSL实现镜面反射光照模型
镜面反射颜色计算公式:color = AIntensity * Acolor * Amaterial+ DIntensity * Dcolor * N dot L * Dmaterial+ SIntensity * Scolor * R dot V * SmaterialN 是漫反射顶点法向量 ,L是漫反射入射光向量的反向量,V是镜面反射的观察点向量(从被观察点指向观察点),R是镜面反转载 2010-04-07 13:10:00 · 2405 阅读 · 2 评论 -
HLSL实现环境光光照模型
环境光光照模型公式:I =Aintensity(环境光强度)* AColor(环境光颜色)* Amaterial(物体对环境光各颜色成分的反射系数)如果场景中包含有漫反射和镜面反射光,则公式为:Color = Aintensity * AColor + Diffuse + Speculardiffuse 和specular分别是漫反射和镜面反射光照公式的占位符1.顶点渲染器转载 2010-04-07 13:11:00 · 2386 阅读 · 0 评论 -
HLSL实现漫反射光照模型
漫反射要考虑光源位置和方向,因此这也就是所谓的位置光照模型,反射光线与观察者位置无关他不会因为观察点的变化而变化,所以其常用来模拟不光滑表面。通常将漫反射和环境光成分相加来综合这些光照,顶点计算公式:Color(颜色) = A(Intensity) * AColor * Amaterial + DIntensity * D Color* (N dot L) * D material转载 2010-04-07 13:11:00 · 2258 阅读 · 7 评论 -
OpenGL显卡编程
文档简述: 随着显卡的飞速发展,更快的速度以及越来越多的新功能为硬件所支持,硬件的进步使得图形程序开发人员可以创造出更加绚丽的视觉效果,现在,电影级动画的实时渲染已不再是梦想。我们怎么在OpenGL中利用显卡的新特性呢?答案就是OpenGL扩展。 注:如不作特别说明,本站文章中的显卡均指面向普通用户的非专业显卡。文档目录: OpenGL扩展 显卡差异 顶点/片断编程 Cg/转载 2010-04-07 13:21:00 · 2436 阅读 · 0 评论 -
GPU上并行处理大规模粒子系统
介绍 现实世界中充满了不规则运动的小物体。人们设计物理正确的粒子系统(PS)来模拟这些自然现象。过去几十年里,粒子系统被广泛地应用在即时渲染和预渲染(如影片、广告)领域来模拟不同的体积特效。 粒子系统在游戏与计算机图形学领域中有很长的历史。早在1960年,已经有游戏使用2D象素的烟雾来模拟爆炸。第一篇讲解粒子系统的计算机图形学论文 [Reeves83],是在卢卡斯影业完成了电影《星际迷航II》的特效制作后诞生的。Reeves先生在论文里描述了粒子的基本数据实现和运动模拟方法―转载 2010-09-12 20:34:00 · 2539 阅读 · 0 评论 -
改进粒子系统-GPU实现
<br />作者:fannyfish<br />Blog:http://blog.youkuaiyun.com/fannyfish<br />amma@zsws.org<br />介绍<br /> 即时粒子系统的性能主要受两个因素制约:填充率(fillrate)、CPU-GPU之间的数据传输。填充率即GPU每帧可以渲染的象素数,当粒子很大并且出现好多粒子重叠在一起的情况时会明显影响性能(比如用粒子模拟大面积水雾,烟尘)。通常的做法是先在CPU上进行粒子的物理运算,然后将运算结果传输给GPU渲染。当粒子数目巨转载 2010-09-12 20:26:00 · 2179 阅读 · 0 评论 -
改进粒子系统-状态相关
改进粒子系统-状态相关粒子系统碰撞CPU 只能实现简单的即时碰撞,如球、平面。GPU 还可以处理与高度图、即时生成的depthmap间的复杂碰撞。 1,与平面碰撞: 2,与球体碰撞: 3,与高度图碰撞: 点(面)发射器向下发射的粒子与右下角显示的高度图进行碰撞 4,与复杂模型碰撞: (未完成)力场CPU 简转载 2010-09-12 20:40:00 · 1535 阅读 · 1 评论 -
面向GPU 的多LOD 因子的大规模场景可视化策略
<br />面向GPU的多LOD因子的大规模场景可视化策略<br />张嘉华 梁成 陈利强 陈春华 <br />newzjh@msn.comaliceliang@163.netsailmer@hotmail.commusalan@msn.com<br />华南理工大学计算机科学与工程学院(510640)<br /><br />图 1. 多LOD因子控制的大规模地形渲染(C1=1.03,C2=19.55,C3=0.868 下山脉地区三维漫游)<br /> <br转载 2010-09-12 21:01:00 · 3017 阅读 · 0 评论 -
多线程渲染技术
<br /> 虽然超线程概念已经在CPU领域发展了数十年,但大多数程序员还是直到近年来多核心CPU流行之后才开始关心程序的平行化,在此之前大部分通用代码都是简单的单线程,在这些代码里寻找并挖掘多线程化带来的性能提升是非常困难的。<br /> 为了改变这一现状,DirectX 11特性还包括很重要一点:支持多线程(multi-threading)。没错,无论是DirectX 10还是DirectX 11,所有的色彩信息最终都将被光栅化并显示在电脑显示屏上(无论是通过线性的方式还是同步的),但是Di转载 2011-03-12 12:01:00 · 4982 阅读 · 0 评论 -
多线程渲染
<br /> 首先我们得明确3D引擎使用多线程的目的所在:<br />1、在CPU上进行的逻辑计算(比如骨骼动画粒子发射等)不影响渲染速度<br />2、较差的GPU渲染速度的低下不影响逻辑速度<br /> 第一个目标已经很明确了,我来解释下需要达到第二个目标的原因:许多动作游戏的逻辑判定是基于帧的,所以在渲染较慢的情况下,逻辑不能跳帧,而仍然需要严格执行才能保证游戏逻辑的正确性,这就导致了游戏速度的放慢,而实际上个人认为渲染保持15帧以上就已经可以正常进行游戏了。<br /> 在较差转载 2011-03-12 12:07:00 · 7139 阅读 · 1 评论 -
解析GPU通用计算妙用
<br />为通用计算买单很不合算?<br /><br /> ● 为通用计算买单很不合算? <br /> DirectX 10是一个里程碑式的API。在DirectX 10当中,微软第一次将底层的ALU开放给了程序员,这种直接面向底层运算器的开放不仅带来了花样百出的shader类型和应用,还将GPU本身所蕴藏的巨大的理论运算能力摆在了世人面前。大量针对GPU运算的非传统图形领域开发的想法几乎在第一时间就遍地开花。可以说从 DirectX 10开始,GPU通用计算时代正式开始。<br /><br /><b转载 2011-03-17 17:16:00 · 2131 阅读 · 0 评论 -
10年GPU通用计算回顾
<br />硬件T&L单元催生GPU诞生<br />前言:从世界上第一款GPU横空出世到今天,显卡已经走过了10年历史。GPU在这10年演变过程中,我们看到GPU从最初帮助CPU分担几何吞吐量,到Shader单元初具规模,然后出现Shader单元可编程性,到今天GPU通用计算领域蓬勃发展这一清晰轨迹。<br />这10年包含了无数设计者艰辛努力的成果,GPU也用自己的发展速度创造了半导体行业的奇迹,而GPU当今成就的见证者,正是我们的无数硬件玩家和游戏爱好者。我们可以肯定以GPU诞生初期的设计定位和市场需求转载 2011-03-17 17:13:00 · 5878 阅读 · 0 评论 -
GPGPU
GPGPU可以被称为通用图形处理器。其中第一个“GP”通用目的(GeneralPurpose)而第二个“GP”则表示图形处理(GraphicProcess),这两个“GP”搭配起来就是“通用图形处理”。而再加上“U”(Unit)就成为了完整的通用处理器。 目前拥有双向发展的AMD更需要让GPU有个完美的发展前景,在GPU中基于了一套完整的DiretX、OpenGL开放标准,并且在发布了开源工具、Linux开源驱动之后又继续向外界公开GPU的微代码。AMD认为只有开放的标准才能让自己走的更远。而且AM转载 2011-03-17 17:10:00 · 2754 阅读 · 0 评论 -
GPGPU将取代CPU?抢CPU “饭碗”
GPU(图形处理器)是用来做什么的?相信每个人都会说它是用来加速图形绘制的。其实GPU的本事可不止这一点,科学计算、数据库分析、视频编解码它也样样精通。在2006年底的超级计算机大会上,AMD发布了业界首款“流处理器”(Stream Processor),宣告GPGPU(通用)从设想变成现实。浮点运算能力超强的GPGPU,有一天真的会取代CPU吗?<br /> 如果你希望流畅地播放高清视频,一定会选择一款支持NVIDIA PureVideo或AMD Avivo的显卡(这里指以前的ATI,由于ATI已经转载 2011-03-17 17:21:00 · 3337 阅读 · 0 评论 -
PC走向GPGPU新时代
<br />在网吧硬件DIY中,最头痛的是CPU和GPU选择。想打造新亮点,就需要选高档次CPU和GPU,但花费太大;低端配置虽然能减低投入,但难留住常客。如此两难之选,往往让网吧老板们举棋不定。不过,新展露头脚的GPGPU(通用处理器),已经为PC核心硬件整合带来了灿烂曙光。或许,不久的一天,CPU和GPU真的就能合二为一,网吧随意选一款就能满足用户需求,大家也就无须为CPU和GPU费尽愁思了。 <br /><br /> GPGPU概念衍生于GPU技术<br /> GPGPU是以GPU为基础开发的转载 2011-03-17 17:23:00 · 1815 阅读 · 0 评论 -
Ogre的GPUProgram的参数管理
<br />首先分享一个我做的图,没有严格按照UML规范,主要是要表达这样的一个意思而已。 <br /><br />[原图:http://ishare.iask.sina.com.cn/f/7863351.html ]<br /> 首先需要明确一些这样的信息:<br /> 1.每个高级Shader语言都可以编译成汇编代码的形式。在cg中我们使用cgGetProgramString,DX有API可以用:D3DXAssembleShader。<br /> 2. 每个Shader的转载 2011-03-30 21:18:00 · 1959 阅读 · 0 评论 -
Next-Generation SpeedTree Rendering 下一代SpeedTree渲染
【译】《GPU GEMS 3》----Next-Generation SpeedTree Rendering 翻译[1] 收藏<br /> 最近在研究树木的渲染,看了一些相关的技术说明,几乎都是老外写的,再次为中国游戏产业的前景感到担忧。看了几天的英文,索性也把其中的重要部分翻译了出来,在这里与大家共享,先贴出《GPU GEMS 3》第4章的翻译,第一次写翻译,不免有错漏的地方,欢迎大家指出。如需转载,请先与本人联系。name:LeYond ,qq:413952706<br />第四章 下一代转载 2011-04-18 16:34:00 · 4445 阅读 · 1 评论 -
将Shader嵌入Ogre(固定渲染管线到可编程渲染管线)
<br />引言:一般的,ogre是使用固定渲染管线,嵌入可编程管线,可借助GPU,提供更多更丰富的效果。<br />//-----------------使用脚本加入shader(.material或者.programe使用.hlsl etc)----------<br />1、声明(不是写shader程序)<br /> 这儿声明的意思:不是写Shader程序(这个着色程序一般在.hlsl/.glsl/.cg后缀的文件里面),而是用于设置ogre与Shaer的桥梁,内容就是shader文件源和一转载 2011-04-24 11:15:00 · 3634 阅读 · 0 评论 -
OGRE在渲染通路中使用顶点程序和片断程序
3.1.9 在渲染通路中使用顶点程序和片断程序<br />在材质脚本的pass段中,你可以引用.program脚本中定义的顶点程序和/或片断程序(详见3.1.4 顶点程序与片断程序的声明)。这些程序与使用他们的渲染通路分开定义,是因为他们很可能在多个分开的材质间被重复使用,更可能跨越多个不同的.material材质脚本,所以这种方法可以让你只定义一次而多次使用。 <br />如前文所述命名程序一样,你也可以向它提供参数。下面是一个简单的例子: vertex_program_ref myVertexProgr转载 2011-04-25 16:43:00 · 3299 阅读 · 0 评论 -
OGRE顶点程序与片断程序的声明
顶点程序与片断程序的声明为了在你的材质中使用顶点或者片断程序(参看:3.1.9 在渲染通路中使用顶点程序和片断程序),首先你必须定义它们。一个程序定义可以被多个材质使用,唯一的前提条件是必须在引用它之前在材质的渲染通路部分中定义。 程序定义可以被嵌套在.material脚本内(在这种情况下,它必须位于任何对它的引用之前,即必须先定义后引用)或者如果你希望跨多个.material脚本使用同一个程序,你可以在一个外部的.program脚本中定义。程序定义的方式与在.program或者.material脚本中一样转载 2011-04-25 16:44:00 · 3426 阅读 · 0 评论 -
基于GPU的光源空间平行分割阴影图算法
转载 2011-06-27 13:18:00 · 2224 阅读 · 0 评论 -
D3DXLoadSurfaceFromSurface
This function loads a surface from another surface with color conversion.CopyHRESULT D3DXLoadSurfaceFromSurface( LPDIRECT3DSURFACE8 pDest转载 2011-07-07 17:36:04 · 3518 阅读 · 0 评论 -
HLSL 高级着色语言基础
语言基础关键字(*号表示大小写敏感)asm* bool compile const decl* do double else extern false float forhalf if in转载 2011-07-26 16:33:00 · 2382 阅读 · 0 评论