zoukankan      html  css  js  c++  java
  • siggraph 2007 GPU Gems 3 和 OpenGL 3 简介 (转)

     siggraph 2007 刚刚开完不久,作为一个大部分工作都是跟三维虚拟互动打交道的技术人员,我对siggraph2007非常关注,其中令人兴奋的消息是GPU Gems 3的发布和OpenGL 3的发布。下面简单介绍一下。
       
        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
  • 相关阅读:
    awk-使用
    缓存使用
    一致性hash-java实现treemap版
    线程同步-CountDownLatch
    一致性hash算法
    linux-配置字符串-grep
    linux-查找命令-find
    linux-网络监控命令-netstat进阶
    linux-网络监控命令-netstat初级
    linux-单引号、双引号、反引号的区别。
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/885783.html
Copyright © 2011-2022 走看看