siggraph 2007 ---- GPU Gems 3 和 OpenGL 3 简介
Posted on 2007-08-22 17:37 dscky 阅读(5073) 评论(8) 编辑 收藏 举报
siggraph 2007 刚刚开完不久,作为一个大部分工作都是跟三维虚拟互动打交道的技术人员,我对siggraph2007非常关注,其中令人兴奋的消息是GPU Gems 3的发布和OpenGL 3的发布。下面简单介绍一下。
![](/images/cnblogs_com/dscky/GpuGems3_.jpg)
GPU Gems 3 是 nvidia公司的 GPU Gems系列的延续,其中大部分文章的作者都是Nvidia公司的,研究范围相等广泛,技术也相当不错,给出了当前GPU发展的最新技术,跟另一巨头AMD.ATI(好别扭)所出的ShaderX系列可以说代表了当前最先进的Real-Time渲染技术。记得前两本都是公司第一时间从亚马逊网站邮购回来的,这次不知道能不能先睹为快。nvidia公司在其网站给出了18、30、38章供下载。
下面是它的书目:
Chapter 1: Generating Complex Procedural Terrains Using the GPU
Chapter 2: Animated Crowd Rendering
Chapter 3: DirectX 10 Blend Shapes: Breaking the Limits
Chapter 4: Next-Generation SpeedTree Rendering
Chapter 5: Generic Adaptive Mesh Refinement
Chapter 6: GPU-Generated Procedural Wind Animations for Trees
Chapter 7: Point-Based Visualization of Metaballs on a GPU
Chapter 8: Summed-Area Variance Shadow Maps
Chapter 9: Interactive Cinematic Relighting with Global Illumination
Chapter 10: Parallel-Split Shadow Maps on Programmable GPUs
Chapter 11: Efficient and Robust Shadow Volumes Using Hierarchical Occlusion Culling and Geometry Shaders
Chapter 12: High-Quality Ambient Occlusion
Chapter 13: Volumetric Light Scattering as a Post-Process
Chapter 14: Advanced Techniques for Realistic Real-Time Skin Rendering
Chapter 15: Playable Universal Capture
Chapter 16: Vegetation Procedural Animation and Shading in Crysis
Chapter 17: Robust Multiple Specular Reflections and Refractions
Chapter 18: Relaxed Cone Stepping for Relief Mapping
Chapter 19: Deferred Shading in Tabula Rasa
Chapter 20: GPU-Based Importance Sampling
Chapter 21: True Impostors
Chapter 22: Baking Normal Maps on the GPU
Chapter 23: High-Speed, Off-Screen Particles
Chapter 24: The Importance of Being Linear
Chapter 25: Rendering Vector Art on the GPU
Chapter 26: Object Detection by Color: Using the GPU for Real-Time Video Image Processing
Chapter 27: Motion Blur as a Post-Processing Effect
Chapter 28: Practical Post-Process Depth of Field
Chapter 29: Real-Time Rigid Body Simulation on GPUs
Chapter 30: Real-Time Simulation and Rendering of 3D Fluids
Chapter 31: Fast N-Body Simulation with CUDA
Chapter 32: Broad-Phase Collision Detection with CUDA
Chapter 33: LCP Algorithms for Collision Detection Using CUDA
Chapter 34: Signed Distance Fields Using Single-Pass GPU Scan Conversion of Tetrahedra
Chapter 35: Fast Virus Signature Matching on the GPU
Chapter 36: AES Encryption and Decryption on the GPU
Chapter 37: Efficient Random Number Generation and Application Using CUDA
Chapter 38: Imaging Earth’s Subsurface Using CUDA
Chapter 39: Parallel Prefix Sum (Scan) with CUDA
Chapter 40: Incremental Computation of the Gaussian
Chapter 41: Using the Geometry Shader for Compact and Variable-Length GPU Feedback
我对它的8、10、11、41章比较感兴趣,呵呵,都是阴影相关和新出的Geometry Shader应用的。
![](/images/cnblogs_com/dscky/OpenGL3.JPG)
OpenGL 3.0是OpenGL ARB组织今年的重头戏之一。于2007年8月8日正式发布,其specification还要经过协商讨论、正式定稿后,然后由Khronos Group组织进行为期30天的评估后,于9月底对外公开整个规范。其中,OpenGL、OpenGL|ES、GLSL都进行了相应的调整和升级。主要的改变有以下一些部分。
GLSL部分的改变包括:将attribute、varying关键词更改成in、out、inout;将单个的uniform变量组装成uniform buffer性质的common结构;内置固定管线的状态不再tracked;sampler2D数组使用image2DArray和filter来代替;预处理增加##和#include语句;OpenGLES增加了lowp、mediump、highp限定词;矩阵增加row_major限定词,允许使用行优先矩阵了;增加了switch语句。
将在结合CgFX的基础上,增加一个创建rendering eEffects的框架---glFX。其目的是为了更好、更容易的创建特效。glFX将支持OpenGL2.1、OpenGL3.0、OpenGL ES 2.0等。并对OpenGL3.0作出优化。
OpenGL3.0的改变包括:消除遗留的一些功能,如 过程式编程接口(Begin/End)、固定管线的T&L功能和纹理应用方法、客户端的顶点数组方式、选择模式、反馈模式、求值器、累计缓存等;全面转向对象模型,用于提高性能和共享灵活,基本上所有能成型的东东都叫Object的了。如:State Object、Data Oobject、Container Object、Vertex Array Object、Buffer Object、Shader Object、Program Environment object、Program Object、Texture Filter Object、Image Object、Format Object、Rasterization Object、Per-Sample Operations Object、Framebuffer Object、Save/Restore Object、Pack/Unpack Object、Sync/Query Object等。
就总体而言,感觉3的改变相当大,不论是概念、内容、还是接口。我想:这一方面是Khronos Group接受ARB组织后,加快OpenGL发展步伐的表现,另一方面也是DirectX10的快速发展,使得OpenGL从被借鉴者变成了借鉴者,吸收了DirectX中的一些先进的地方和优点,才会痛下决心,作出如此重大的改变。不管怎样,作为一名使用过OpenGL做开发的人,希望OpenGL能一路走好!
参考链接:
http://www.opengl.org/
http://www.siggraph.org/s2007/
http://www.gamedev.net/reference/business/features/siggraph07/
http://developer.nvidia.com/object/gpu-gems-3.html
http://www.khronos.org/library/detail/siggraph_2007_opengl_birds_of_a_feather_bof_presentation/
http://bbs.gameres.com/showthread.asp?threadid=91490
![](/images/cnblogs_com/dscky/GpuGems3_.jpg)
GPU Gems 3 是 nvidia公司的 GPU Gems系列的延续,其中大部分文章的作者都是Nvidia公司的,研究范围相等广泛,技术也相当不错,给出了当前GPU发展的最新技术,跟另一巨头AMD.ATI(好别扭)所出的ShaderX系列可以说代表了当前最先进的Real-Time渲染技术。记得前两本都是公司第一时间从亚马逊网站邮购回来的,这次不知道能不能先睹为快。nvidia公司在其网站给出了18、30、38章供下载。
下面是它的书目:
Chapter 1: Generating Complex Procedural Terrains Using the GPU
Chapter 2: Animated Crowd Rendering
Chapter 3: DirectX 10 Blend Shapes: Breaking the Limits
Chapter 4: Next-Generation SpeedTree Rendering
Chapter 5: Generic Adaptive Mesh Refinement
Chapter 6: GPU-Generated Procedural Wind Animations for Trees
Chapter 7: Point-Based Visualization of Metaballs on a GPU
Chapter 8: Summed-Area Variance Shadow Maps
Chapter 9: Interactive Cinematic Relighting with Global Illumination
Chapter 10: Parallel-Split Shadow Maps on Programmable GPUs
Chapter 11: Efficient and Robust Shadow Volumes Using Hierarchical Occlusion Culling and Geometry Shaders
Chapter 12: High-Quality Ambient Occlusion
Chapter 13: Volumetric Light Scattering as a Post-Process
Chapter 14: Advanced Techniques for Realistic Real-Time Skin Rendering
Chapter 15: Playable Universal Capture
Chapter 16: Vegetation Procedural Animation and Shading in Crysis
Chapter 17: Robust Multiple Specular Reflections and Refractions
Chapter 18: Relaxed Cone Stepping for Relief Mapping
Chapter 19: Deferred Shading in Tabula Rasa
Chapter 20: GPU-Based Importance Sampling
Chapter 21: True Impostors
Chapter 22: Baking Normal Maps on the GPU
Chapter 23: High-Speed, Off-Screen Particles
Chapter 24: The Importance of Being Linear
Chapter 25: Rendering Vector Art on the GPU
Chapter 26: Object Detection by Color: Using the GPU for Real-Time Video Image Processing
Chapter 27: Motion Blur as a Post-Processing Effect
Chapter 28: Practical Post-Process Depth of Field
Chapter 29: Real-Time Rigid Body Simulation on GPUs
Chapter 30: Real-Time Simulation and Rendering of 3D Fluids
Chapter 31: Fast N-Body Simulation with CUDA
Chapter 32: Broad-Phase Collision Detection with CUDA
Chapter 33: LCP Algorithms for Collision Detection Using CUDA
Chapter 34: Signed Distance Fields Using Single-Pass GPU Scan Conversion of Tetrahedra
Chapter 35: Fast Virus Signature Matching on the GPU
Chapter 36: AES Encryption and Decryption on the GPU
Chapter 37: Efficient Random Number Generation and Application Using CUDA
Chapter 38: Imaging Earth’s Subsurface Using CUDA
Chapter 39: Parallel Prefix Sum (Scan) with CUDA
Chapter 40: Incremental Computation of the Gaussian
Chapter 41: Using the Geometry Shader for Compact and Variable-Length GPU Feedback
我对它的8、10、11、41章比较感兴趣,呵呵,都是阴影相关和新出的Geometry Shader应用的。
OpenGL 3.0是OpenGL ARB组织今年的重头戏之一。于2007年8月8日正式发布,其specification还要经过协商讨论、正式定稿后,然后由Khronos Group组织进行为期30天的评估后,于9月底对外公开整个规范。其中,OpenGL、OpenGL|ES、GLSL都进行了相应的调整和升级。主要的改变有以下一些部分。
GLSL部分的改变包括:将attribute、varying关键词更改成in、out、inout;将单个的uniform变量组装成uniform buffer性质的common结构;内置固定管线的状态不再tracked;sampler2D数组使用image2DArray和filter来代替;预处理增加##和#include语句;OpenGLES增加了lowp、mediump、highp限定词;矩阵增加row_major限定词,允许使用行优先矩阵了;增加了switch语句。
将在结合CgFX的基础上,增加一个创建rendering eEffects的框架---glFX。其目的是为了更好、更容易的创建特效。glFX将支持OpenGL2.1、OpenGL3.0、OpenGL ES 2.0等。并对OpenGL3.0作出优化。
OpenGL3.0的改变包括:消除遗留的一些功能,如 过程式编程接口(Begin/End)、固定管线的T&L功能和纹理应用方法、客户端的顶点数组方式、选择模式、反馈模式、求值器、累计缓存等;全面转向对象模型,用于提高性能和共享灵活,基本上所有能成型的东东都叫Object的了。如:State Object、Data Oobject、Container Object、Vertex Array Object、Buffer Object、Shader Object、Program Environment object、Program Object、Texture Filter Object、Image Object、Format Object、Rasterization Object、Per-Sample Operations Object、Framebuffer Object、Save/Restore Object、Pack/Unpack Object、Sync/Query Object等。
就总体而言,感觉3的改变相当大,不论是概念、内容、还是接口。我想:这一方面是Khronos Group接受ARB组织后,加快OpenGL发展步伐的表现,另一方面也是DirectX10的快速发展,使得OpenGL从被借鉴者变成了借鉴者,吸收了DirectX中的一些先进的地方和优点,才会痛下决心,作出如此重大的改变。不管怎样,作为一名使用过OpenGL做开发的人,希望OpenGL能一路走好!
参考链接:
http://www.opengl.org/
http://www.siggraph.org/s2007/
http://www.gamedev.net/reference/business/features/siggraph07/
http://developer.nvidia.com/object/gpu-gems-3.html
http://www.khronos.org/library/detail/siggraph_2007_opengl_birds_of_a_feather_bof_presentation/
http://bbs.gameres.com/showthread.asp?threadid=91490