皮皮网

【雷电源码】【游资出击 指标源码】【钉图标记源码】gouraud源码

时间:2024-11-29 00:55:35 来源:无糖溯源码燕窝有什么好处 作者:html 星空动态源码

1.面法线/顶点法线/平面着色/平滑着色
2.asymptoteAsymptote:向量图形语言
3.3dfx的产品系列

gouraud源码

面法线/顶点法线/平面着色/平滑着色

       着色技术是影响对象外观的关键参数,如亮度和颜色。法线在着色中至关重要,表示物体表面在点P处的方向,垂直于表面。物体表面的雷电源码方向影响反射光量,因此影响其亮度。随着光线方向与法线方向之间角度增大,亮度会下降。我们通常可以通过计算来找到法线,根据渲染的几何类型,解决方案的复杂性会有所不同。

       在程序中计算要着色的点处的表面法线并不重要,重要的是当需要着色时,手头有这些信息。面法线适用于整个面,而顶点法线用于平滑着色技术,稍后会详细介绍。面法线通过计算通过点与球心的向量获得,而顶点法线适用于三角形网格中的每个顶点。

       面比率是游资出击 指标源码一种简单的着色效果,计算法线与观察方向的点积。观察方向通常为光线追踪时与表面相交处P的光线的相反方向,或简单地追踪从P点到眼睛的线。通过计算点积,我们得到面向比值,用于着色效果。面向比值最高时,着色效果最亮,面向比值降低时,着色效果变暗。钉图标记源码

       平面着色是将面向比技术应用于多边形网格的一种方法,但这种方法使对象呈现出多面的外观。为了解决这个问题,Henri Gouraud引入了平滑着色技术。通过在网格的每个顶点存储法线,即使网格表示的对象不连续,也能产生连续的阴影。Gouraud还引入了顶点法线的概念,计算三角形表面上的点的插值法线,以便在网格上产生平滑效果。进程挂起源码

       计算插值法线的源代码非常简单,只需知道三角形的顶点法线、点在三角形上的重心坐标以及三角形索引。通过结合点重心坐标和三角形顶点法线,可以计算出点插值平滑法线。尽管平滑着色改善了三角形网格的外观,但仍然存在多面外观的问题。解决这个问题的方法是使用细分曲面,或在生成三角形网格时使用更多三角形。

       在深入研究漫反射表面的怎么找flash源码外观之前,需要了解3D引擎中的光源概念。了解光源如何与物体互动,将有助于更真实地重现漫反射表面的效果。在本节中,我们将学习如何计算法线,以及如何应用简单的着色效果,如面比率和更复杂的平滑着色技术。通过掌握这些基础知识,我们将能够创造出更加真实和美观的3D模型。

asymptoteAsymptote:向量图形语言

       Asymptote是一种强大的矢量图形描述语言,它的设计初衷是为了创建高品质的技术图形。它采用LaTeX的排版风格,将标签和方程式融入其中,为数学公式提供了标准的数字排版。Asymptote的独特之处在于,它不仅仅是一个图形程序,更是一种编程语言,具有C++的简洁语法和浮点数值处理能力。

       Asymptote的优势表现在其跨平台性,它可以在包括UNIX、类UNIX(如MacOS)、Windows等多种操作系统上运行。它支持复杂的数学操作,如向量乘法的旋转,确保了图形的精确性。同时,LaTeX的排版标签保证了文档的一致性,使得图形与文本完美融合。

       在图形处理方面,Asymptote采用了高级的编译命令和递归绘图技术,能够处理固定大小对象(如标签和箭头)的规模问题,以及对象与数字大小的协调。对于三维路径,它扩展了MetaPost的路径算法,提供了全面的解决方案。此外,Asymptote还支持多段路径、填充图案、Gouraud着色以及PostScript图像,使得图形的表现力更加强大。

       获取Asymptote的方式非常便捷,用户可以从网络上获取完整的源代码,或者直接下载针对Linux(如RedHat和Debian)、MacOS X以及Windows的二进制版本。这些软件包通常会集成在这些系统的软件仓库中,方便用户安装和使用。

3dfx的产品系列

        对于大多数老一代游戏玩家来说,谈到3dfx相信都会感叹万千。正是这家公司真正把我们的视觉带入了3D世界,它是PC领域3D加速设备的光辉典范,由Voodoo面世而领导的这场革命的一个重大意义,就是使PC机从此具有了和街机几乎同级的3D处理能力,开创了PC界3D处理技术的先河。其实3dfx并不是3D显卡时代的开创者,它只不过是一位后来者。

       ç¬¬ä¸€ä»£3D显卡应该是以S3 VIRGE和ATI 3D RAGE为代表,前者整体性能稍有优势,后者则提供了对光源的处理能力,是当时3D性能最全面的显卡。S3后来推出Virge/DX,在3D性能方面有很大提升,但在高端平面图形方面弱于S3 TrioV2/DX,这个期间内Matrox的MGA系列开始粉墨登场。

       æŠ›å¼€å…¶é«˜æ˜‚的价格不谈,MGA的3D性能的确十分出色,但与S3 Virge 和ATI 3D RAGE 相比仍显不够全面。Trident 是另一种风格在单芯片的显卡上集成了TV视频处理,提供视频输出,软解压方面非常出色,3D性能一般。IGS CyperPRO集成了TV视频处理和编码芯片,性能与S3Trio V+相仿。3D Labs Permedia 在3D方面表现抢眼,但2D性能较低,不够全面。

       åŒæ ·çš„STG也是同样专门的3D芯片,显卡上带波表音效。后两块显卡是实实在在的3D游戏卡。虽说这一阶段显卡的3D性能尚未成为世人关注的焦点,显卡的综合性与兼容性显然占了上风,但所有这些初级3D显卡却为不久之后的3D浪潮席卷全球奠定基础。

       æ…¢æ…¢åœ°ï¼Œå¤šåª’体的概念越来越深入人心,人们对游戏画面的要求也不再局限于2D的水平上,特别当一批“准3D”游戏(如古墓丽影、极品飞车、雷神之锤)出现的时候,人们被一些前所未见的3D特效深深地吸引住了!图形芯片厂商似乎也都发觉了这个充满无限商机的领域。

       æ¥è‡ªSGI公司的Scott Sellers、来自Mediavision的Gary Tarolli和Ross Smith三个技术工程师靠万美元的风险投资于年3月共同创立的3dfx。经过3dfx的三位创始人—Scott Sellers、Gary Tarolli和Ross Smith的不懈努力,3dfx公司在年月发布了其第一代、具有划时代意义的显卡—Voodoo,也走进3D时代。

       ç›¸ä¿¡Voodoo显示卡在每个DIYer心中有多大的份量了,这是一款年的时候最强大的3D显示卡,支持硬件雾化;镜面高光(Specular Hilight),色键透明处理(Color-Key-Transparency);Alpha透明混合处理(Alpha Transparency),双线性材质过滤(Bi-Linear filtering),三性线材质过滤(Tri-Linear filtering),贴图过滤(MIPMAP Linear),抖动处理(Dithering),透视校正(Perspective Correction),动态贴图(Animated texturing),抗锯齿(Anti-alasing),高氏调节(Gouraud modulation),次级像素矫正(Sub-pixel correction)等划时代的3D效果,使得我们第一次感到了3D时代的来临。

       å½“æ—¶Voodoo使用了容量非常大的4MB EDO内存,核心芯片的工作频率为/Mhz,使得像素填充率达到了M/s,虽然这个速度在现在是没有任何意义的,但在当时,这可是最强大的性能了。Voodoo的成功除了杰出的硬件性能以外,软件技术的作用同样功不可没。

       Voodoo支持所有主要的3D的接口程序,包括Glide、D3D和OpenGL。Glide是其专用的3D API,不仅性能出色,且易用性极佳,在D3D没有被广泛接受之前,3dfx正是凭借这个接口程序以及免费授权战胜各路竞争对手,得到软件厂商的青睐。Glide在当时被公认为最好的3D接口程序,特别是它的易用性和稳定性都是程序师最喜欢的东西;Voodoo在设计的时候就针对D3D进行了优化,很多人对D3D的认识都是从它开始的,不过到达DirectX 5.0 以后,Voodoo的性能已经被完全压榨出来。不过,对OpenGL的强力支持更是Voodoo制胜的法宝。

       ä½†æ˜¯3dfx也为了避免于Matrox,ATi,S3等这些老牌劲旅正面交锋,决定自己的产品以附加子卡的形式出现(需要配合其他2D显卡才能工作),即使是这样Voodoo子卡的成本高出当时最贵显卡的1倍多。不过,幸好当时(å¹´)存储器价格狂跌,这样原来价格居高不下的Voodoo显示卡就变得容易接受多了,加上当时Diamond鼎力支持,首款以Voodoo为3D核心的显示卡-Diamond Monster 3D就这么推出了。

       åŒæ—¶3dfx还引入了独有的3D API—Glide,奠定了3dfx 3D加速之王的地位。Eidos的《古墓丽影》首先采用了此API,也正是由于《古墓丽影》的成功,3dfx成为了当时效果最好的3D显示卡,后来3dfx又得到雷神之锤的支持,至此Voodoo一发不可收拾,成为当时真正显示卡的王者,而且EA(美国艺电)等游戏产业龙头受到Voodoo强大功能的吸引和Glide免费授权的诱惑,进一步巩固了3dfx的地位。

       è™½ç„¶Voodoo让3dfx这个显卡领域的新秀获得了巨大的成功,但3dfx公司也看到仅仅凭借单纯的3D加速子卡并不能垄断显卡市场,整合2D/3D才是以后显卡发展的方向,于是就推出了Voodoo Rush。如果光从纯粹的技术指标上看,Voodoo Rush绝对要胜过Voodoo。

       å› ä¸ºå®ƒä¸ä½†æ‹¥æœ‰å½“时最优秀的3D性能,并配备了6MB(4MB 3D,2MB 2D)或4M(2MB 3D,2MB 2D)显存,同时还整合了Alliance的AT3D图形芯片以提供2D功能,使它无需2D子卡配合,即可单独工作。从而提供了硬件MPEG-I解码、软件MPEG 2解码和TV-OUT输出的功能,但虽然Voodoo和Voodoo Rush都是采用3DFX公司自家的晶片,但由于Rush必需将2D芯片和3D芯片整合在一起,所以得修改其控制芯片,以便驱动2D和3D功能。

       ä½†Alliance AT3D和Voodoo芯片两者的整合性似乎不是挺好,造成2D显示效能普通,而3D部分则同一些软件存在兼容性问题,这是因为Rush的控制芯片在某些指令上为了和2D芯片兼容而做了些修正,造成某些支持3dfx显示卡的游戏在Voodoo上执行一切正常,但在Voodoo Rush上则有可能无法兼容。因此Voodoo Rush在昙花一现之后就草草收场。 在3dfx发布了Voodoo之后,众多显示芯厂商看到了未来3D市场的生机,不久S3、Trident、3Dlabs、Number Nine、Matrox、Cirrus Logic 、nVIDIA、ATi等公司都先后发布了他们各自的3D显示芯片,都想从这个美好的3D世界中分得一杯羹。3dfx为了保持领先优势,于年月推出了其第二代产品—Voodoo 2了。在当时来说,Voodoo 2仍然是一个不可思议的硬件产品。

       Voodoo 2显示卡的工作频率达到了Mhz(填充率达到M/s,达到了Voodoo的一倍),虽然没有nVIDIA后来推出的TNT高,但是在当时也是出类拔萃的了。另外其RAMDAC的工作频率为Mhz,在当时也是非常不错的了。其首先提出的“单周期双纹理”技术与“SLI(交错互连)”技术使Voodoo 2较前两代产品在性能方面有了质的飞跃。

       Voodoo 2显示卡上一共具有3块显示芯片,一块是负责像素处理的3dfx -芯片,和两块负责材质的-芯片组成,最后通过一块主控芯片来协同这3块芯片的工作。这个设计在一个优点:在当时核心效率低的情况下可以弥补核心的很多不足。当时,FPS游戏雷神之锤2风靡全球,Voodoo 2凭借“单周期双纹理”技术成为3D游戏的速度之王,更成为当时FPS类游戏的标准配置。

       åœ¨nVidia发布了Riva TNT之前根本没有图形芯片可以和Voodoo 2较量,3dfx也因此迎来其颠峰时刻!其它厂商的产品都在Voodoo 2下黯然失色,用当时媒体的话来说,Voodoo 2简直是处于独孤求败的境地!

       åœ¨å½“时,奔腾2加上Voodoo 2是众多游戏玩家所梦寐以求的梦幻配置。如果你觉得这样的3D加速都不够的话,你可以再加上一块,然后运行在SLI模式下,从而拥有双倍的3D性能,Voodoo 2的特性和它的前辈Voodoo基本相似,但是它又提供了Z缓冲还有抗锯齿功能。不过,Voodoo 2仍无法摆脱Voodoo一样的缺点—Voodoo 2仍只是一块子卡,需要一块2D卡支持才能实3D功能。

       è™½è¯´3dfx在推出其第一代显卡Voodoo Rush以失败等告终,但3DFX并没有放弃这个想法。在推出Voodoo 2之后,3DFX发布其第二代整合2D/3D引擎的显示芯片—Voodoo Banshee(即赫赫有名的巫毒女妖)。像Rush一样,它整合了2D/3D引擎,最高支持MB显存,MHz的核心频率,MHz的内存频率,而RAMDAC频率也高达Mhz。不把3DFX把Voodoo 2显示卡的两条渲染流水线缩减到了一条。

       å› æ­¤è™½ç„¶Banshee较Voodoo 2在指标上超过了Voodoo 2(填充率达到M/s、万每秒的三角形生成率,Voodoo 2为万每秒,但由于精减了渲染流水线降低了Banshee在游戏中性能。不过还是由于内建了2D引擎加上不错的超频能力,最终Banshee在市场上也取得了不错的成绩。 凭借Voodoo 2、Voodoo Banshee,3dfx再一次向世人证明了它的实力。而此时,nVIDIA宣布了它的革命性产品TNT—填充率为 M 像素/秒,而且支持位图像渲染,凭着不俗的性能获得了市场一定的认可!此后不久,nVIDIA发布功能更强劲、支持特效更多的新一代图形处理芯片—TNT2,大有取代3dfx的绘图芯片领域霸主地位之势。但是3dfx似乎并没有对nVIDIA投以足够的重视。

       ç”±äºŽæ„Ÿè§‰å¦‚果不拥有显卡生产线则会不时受制于显卡生产厂商,3dfx于是年初收购了著名的显示卡生产厂STB,从此开始了自产自销的发展路线。在TNT2已经发布大半年之后,3dfx才发布其第三代产品—Voodoo 3,而Voodoo 3也是STB工厂的首款产品。不过虽说发布时间迟于nVIDIA的TNT 2,但Voodoo 3在技术、支持特效方面并没有带来新的突破—大体之上可以看作Voodoo 2+Banshee的结合体。

       Voodoo 3核心采用了0.微米技术生常工艺和位数据通道设计,首次把显存容量支持到MB(但所有产品基本都是MB的)。不过Voodoo 3首次增加了材质压缩的特点,这样就可以在具有大材质贴图场景中得到更好的效果,不过由于不支持AGP的DIME工艺,因此材质压缩的作用并不大。

       æœ€å…ˆVoodoo 3有两个型号Voodoo 3 和Voodoo 3 两者之间的区别也仅仅是工作频率的不同(RAMDAC也不同,前者为Mhz,后者为Mhz。),的工作频率为Mhz,而则为Mhz,并且从一些非官方的渠道的来的消息,Voodoo 3 和Voodoo 3 的核心是一样的,Voodoo 3 是超频版本,因此覆盖了大型的散热片,并且可超频能力很小。

       Voodoo 3 就不同了,通过改善显示卡的散热Voodoo 3 很轻松的就可以工作在Voodoo 3 的频率下,因此市场上Voodoo 3 的销售量大大高于Voodoo 3 ,当然这除了价格的因素,可超频性也是一个重要的因素。

       ä¸ä¹…3dfx又推出了Voodoo 3 。Voodoo 3 是一款多功能显示卡,其具有一个TV接受器,可以提供视频接受和输出功能,并且此电视调谐器也是首次使用单芯片设计的产品。如果与TNT2相比,不支持位渲染、不支持大纹理贴图、不支持直接内存调用是Voodoo 3最大的缺点,这也使3DFX在技术上首次落后于其对手。

       è¿™å¹¶ä¸æ˜¯æœ€è‡´å‘½çš„,而最大的失误是3dfx的市场策略。狂妄自大的3DFX自认为自己拥有了显卡生产工厂,在DirectX几乎一统天下的局面下仍坚持不开放Glide的源代码,使得昔日的盟友纷纷改投nVIDIA的门下,再加上STB的产能不足,3DFX的市场急剧萎缩。

       è€ŒnVidia随后又发布了GeForce 更给了3DFX致命的一击—GeForce 采用了全新设计的架构,是首款支持硬件几何和光影(T&L)转换的显示芯片,nVidia也是在此时引入了GPU的概念。此时的3dfx终于惊醒,并开始作出相应的对策如开放Voodoo 3 显示卡的授权,准备推出具备位色和4X AGP支持的Voodoo 3 ,但这一切都为时已晚,而Voodoo 3 也永远停留在了纸上。 面对nVIDIA的节节紧逼,3dfx不得不推出了更新一代的产品。在几经跳票之后,3dfx终于推出了其第四代产品—Voodoo 4 。而此时,3dfx首次引入了其独创的VSA-架构。VSA的全称为:Voodoo Scalable Architecture,意思就是可升级Voodoo 架构,这种架构可以进行更弹性的显示卡设计,其架构最高支持同时块核心协处理。

       VSA-芯片采用了0.微米的制造工艺,继承了万个晶体管,内置MHz的RAMDAC,运行频率为MHz,最高支持MB显存。VSA-终于使3DFX迈入了位渲染的行列,其支持先进的T-Buffer功能(但必须有成对的芯片才能实现),并且焦点模糊(Depth of Field Blur)、柔和阴影(Soft Shadows)、柔和反射(Soft Reflections)等特效。

       ç”±äºŽVoodoo 4 的市场定位是针对中低端显卡市场,采用更具成本优势的单VSA-芯片方案,所以不支持T-Buffer的功能和低下的填充率,根本不是TNT 2的对手。因此Voodoo 4 在昙花一现之后就从市场上消失了。(注:Voodoo 4 拥有MB,MB和8MB显存的三个不同版本。)

       é’ˆå¯¹Voodoo 4 的不足,3dfx不久发布了采用2块VSA-芯片的Voodoo 5 。由于配备了两块VSA-芯片,Voodoo 5 能够实现Voodoo 4 两倍的帧速率以及T-Buffer,并且采用了PCI接口设计,在工作站方面还是很有市场的。不过,Voodoo 5 的功耗十分大,需要外接电源才可以正常运行,而且只支持MB的显存也是Voodoo 5 的不足(因为两枚VSA-分别只能用到MB显存容量)。

       éšåŽï¼Œ3dfx发布了采用MB显存的Voodoo 5 。这款产品在技术之上同Voodoo 5 没有很大差别,仍采用VSA-架构,不同之处是采用了MB的显存和以AGP作为总线界面。Voodoo 5 由于采用了AGP接口和采用容量更大的显存,性能都有所提升。在推出前期Voodoo 5 还是取得了一定的市场成绩,但年STB工厂的产能很低,远远不能满足市场需要,因此最终还是改变不了3dfx的最终下场。

       æŒ‰åŽŸè®¡åˆ’,3dfx还将向市场推出一款Voodoo 5 产品。Voodoo 5 采用多达4片VSA-芯片,搭载 MHz 的MBSDRAM显存,填充率达到了1.—1. 千兆像素/秒,同样需要外接电源。在性能Voodoo 5 支持效果更好的T-buffer功能,并且支持创记录的8倍抗锯齿功能,但由于设计较复杂,生产成本居高不下(当时的售价预计在美元左右),而且元件短缺的问题和3dfx财政原因,这款怪兽级的显卡几经跳票之后最终没有发布。 由于Voodoo 4的性能太差,而Voodoo 5的价格又居高不下,促使3DFX的支持率急剧下降。到年,nVIDIA的羽翼已经丰满,3dfx已经无力阻止nVIDIA进行的步代。面对这个不利局面,3DFX将所有希望放在了微软身上—以1.8亿美元的价格准备收购Gigapixel公司、希望获得微软将要推出的XBOX的图形芯片订单。

       ä½†æ˜¯å¾®è½¯æœ€ç»ˆå´é€‰æ‹©äº†ä¸ŽnVIDIA合作,并成功发行了XBOX,3DFX的股票再次下挫,而且计划中RamPage也被无限期地搁置!毫无生机3dfx最终被nVIDIA仅以一亿美元的低价收购了,并且收购后的3dfx公司将被解散,今后其品牌不再保留,知识产权也被完全收购(因此英伟达开发了自家的API技术),至此3dfx公司划上了一个句号!从此,一个极具传奇色彩的显示芯片厂商最终仅仅留存在众多硬件发烧友的脑海中! 3dfx重生-Voodoo (4月1日的愚人节笑话,国内小白不要信以为真)

       å¹´4月1日,NVIDIA还突然抛出一颗重磅炸弹,宣布了基于Voodoo架构的新卡“Voodoo ”,拥有惊人得颗核心,“强大得有些荒谬”。

       NVIDIA表示,3dfx被收购的十余年来,其实在NVIDIA内部一直有一个前3dfx专家组成的团队过着秘密的生活,白天是NVIDIA公司员工,设计、制造、推广GeForce显卡,空闲时间就在公司的默许下基于3dfx技术开发革命性的显卡。经过十年的双重生活,他们终于准备好向全世界展示自己的成果了。

       3dfx创始人之一兼首席科学家、现仍留在NVIDIA公司的Gary Tarolli表示:“我们从来没打算放弃。Voodoo技术有着无穷的潜力。这个世界从来没有认识到它的真正实力。”

       éšåŽä»–展示了“Voodoo ”并解释说:“我们将它命名为是因为它在填充率方面堪比GeForce GTX ,这是图形性能的一个关键指标。两块卡都能每秒钟填充万像素,唯一的不同就在于Voodoo 使用3dfx十年前的技术打造的。这套古老的架构延伸到了与NVIDIA Fermi架构同样的高度。看看3dfx是多么超前吧!”

       ä»Žæž¶æž„图上看,Voodoo 集成了颗VSA-芯片(3dfx最后的作品Voodoo 5 只有两颗),核心频率仍是MHz,每一颗都拥有两个像素管线,整块卡上还搭载了MB嵌入式SDRAM显存,每个核心MB,以及一个Tile Distributor。

       æŠ€æœ¯æ–¹é¢ï¼Œè¯¥å¡æ²¡æœ‰T&L、Shader和其它没用的东西,完整支持Glide API、3dfx T-Buffer缓存、x RGSS旋转栅格超级采样抗锯齿以及专利的单向单循环多重纹理。

       å®ƒç”šè‡³è¿˜å¼•å…¥äº†æ–°çš„SLI机制,可以让两块乃至四块卡并联,也就是同时拥有个VSA-核心,不过技术细节暂时保密。

       æ›¾ç»çš„3dfx产品营销总监Tony Tamasi还透露,其实Voodoo 也引入了NVIDIA的一些技术,比如散热方案就源于NV并进行了适当拓展,但是功耗情况谁也不肯说。

       Tarolli宣称:“可编程着色器的实现方式很多,T-Buffer技术就能达到CGI级别的景深、动态模糊和抗锯齿,只需要足够的采样即可。Voodoo 拥有颗VSA-核心,也就有了个采样,最终获得的图形质量足以超越皮克斯动画。”

关键词:脚步地图源码

copyright © 2016 powered by 皮皮网   sitemap