Public Imagination Technologies
PowerVR 3 Revision PowerVR SDK REL_18.1@5080009a
4.5.5. Attributes ................................................................................................................ 24
4.5.6. Varyings.................................................................................................................. 24
4.5.7. Samplers ................................................................................................................ 25
4.5.8. Uniforms ................................................................................................................. 25
4.5.9. Conversion Costs ................................................................................................... 25
4.6. Scalar Operations ............................................................................................................. 25
4.7. Constant Data in Shaders ................................................................................................ 26
4.8. Geometry / Tessellation Shaders ..................................................................................... 26
5. Optimising Specific Techniques ............................................................................................. 27
5.1. Using Multiple Render Targets Efficiently ........................................................................ 27
5.1.1. Recommended HDR Texture Formats ................................................................... 27
5.2. Preferred Lighting Solution ............................................................................................... 29
5.3. Preferred Shadowing Solution .......................................................................................... 29
5.4. MSAA Performance .......................................................................................................... 29
5.5. Preferred Analytical AA Solution ...................................................................................... 30
5.6. Screen Space Ambient Occlusion .................................................................................... 30
5.7. Ray-Marching ................................................................................................................... 30
5.8. Separable Kernels ............................................................................................................ 30
5.9. Efficient Sprite Rendering ................................................................................................. 31
5.10. Physically Based Rendering & Per-Pixel LOD – Rogue Performance ............................. 32
6. OpenGL ES Specific Optimisations ........................................................................................ 34
6.1. glClears & glColorMask .................................................................................................... 34
6.1.1. Invalidating Frame Buffer Attachments .................................................................. 34
6.2. Draw*Indirect and MultiDraw*IndirectEXT ........................................................................ 34
6.2.1. Draw*Indirect .......................................................................................................... 34
6.2.2. MultiDraw*IndirectEXT ........................................................................................... 35
6.2.3. Instancing ............................................................................................................... 35
6.3. PBO Texture Uploads ....................................................................................................... 35
6.3.1. Optimal Texture Updates with PBOs ..................................................................... 35
6.4. Rogue Specific.................................................................................................................. 36
6.4.1. Using glTexStorage2D & glTexStorage3D ............................................................. 36
6.5. VAOs, UBOs, Transform Feedback Buffers and SSBOs in OpenGL ES ......................... 36
6.5.1. Vertex Array Objects (VAOs) ................................................................................. 36
6.5.2. Uploading Uniforms (Uniform Buffer Objects) ........................................................ 36
6.5.3. Transform Buffer Objects ....................................................................................... 37
6.5.4. SSBOs – Shader Storage buffer Objects ............................................................... 37
6.6. Synchronisation ................................................................................................................ 37
6.6.1. Multithreading in OpenGL ES ................................................................................ 38
6.7. Frame-buffer Down Sampling ........................................................................................... 38
6.8. Pixel Local Storage Extension .......................................................................................... 38
7. Vulkan Specific Optimisations ................................................................................................ 40
7.1. Memory Types .................................................................................................................. 40
7.2. Pipelines ........................................................................................................................... 41
7.2.1. Pipeline Barriers ..................................................................................................... 41
7.2.2. Pipeline Caching .................................................................................................... 42
7.2.3. Derivative Pipelines ................................................................................................ 42
7.3. Descriptor Sets ................................................................................................................. 42
7.3.1. Multiple Descriptor Sets ......................................................................................... 42
7.3.2. Pooled Descriptor Sets ........................................................................................... 42
7.4. Push Constants ................................................................................................................ 42
7.5. Queues ............................................................................................................................. 43
7.6. Command Buffers ............................................................................................................. 43
7.6.1. Command Buffer Usage Flags ............................................................................... 43
7.6.2. Transient Command Buffers .................................................................................. 43
7.6.3. Secondary Command Buffers ................................................................................ 43
7.7. Render Pass ..................................................................................................................... 44
7.7.1. Sub-Passes ............................................................................................................ 44
7.7.2. Load & Store Ops ................................................................................................... 44
评论0
最新资源