User Tools

Site Tools

Version 6.3.0

Release Notes

Note that version 6.3.0 is the immediate successor to version 6.2.2.

General Notes

  • Support added for PlayStation 4 (codenamed “Orbis” in the SDK source and filenames). BETA release.
  • CRenderTargetRI::InitGfx() now takes number of samples (MSAA) as a parameter, which trickles down to all platform-specific rendering classes.
  • Enumeration SHADER_PASS_LIT from EShaderPass in Core.h changed to SHADER_PASS_MAIN.
  • CRenderStateRI::Init() renamed to CRenderStateRI::InitGfx() and the second function parameter was removed.
  • CRenderStateRI::operator=(const SRenderState&) removed, no longer necessary.
  • CForestRI::UploadViewShaderParameters() now takes viewport width and height as parameters.
  • CForestRI::UploadViewShaderParameters() now sets the g_vViewport shader constant.
  • Added CRenderStateRI::operator=(const SRenderState&).
  • UnreferencedParameter() macro changed to ST_UNREF_PARAM().
  • Data packing has been reworked. ST_SETS_PACKING_INTERNALLY is #defined in ExportBegin.h and now referenced now only in files where certain packing is required or for consistency's sake.
  • Merged CShaderConstant::SetTexture() into each platform's CShaderConstant* class, removing one class declaration per platform.
  • Added documentation page for vertex properties.
  • Support added for another undisclosed platform.

Bug Fixes and Performance

1. Optimizations made for setting textures in batches (for those rendering APIs that support it) in RenderInterface library as well as corresponding platform-specific rendering classes. The interface for each rendering library was impacted, regardless of that platform's support for texture batching.

2. Texture samplers were reorganized in both the shader templates and in the C++ SDK. We moved away from a one-sampler-per-texture model to a small set of samplers that are reused as needed (as well as corresponding platform-specific rendering classes).

  • Prefix for EForestTextureRegister enumeration changed from TEXTURE_SAMPLER_* to TEXTURE_REGISTER_* in GraphicsApiAbstractionRI.h.
  • ESamplerRegister enumeration added to GraphicsApiAbstractionRI.h.
  • OpenGL: Texture names changed in BindTextureSamplers in Shaders_inl.h.
  • Significantly reworked Template_TexturesAndSamplers.fx shader template.

3. Instance manager class didn't properly multi-buffer instanced billboard geometry (AdvanceMgrIndex() not called in CInstancingMgrRI::UpdateBillboardInstanceBuffers()).

4. Branch seam weight exponent was being ignored. In earlier versions it was hard-coded. It now flows through the entire pipeline (Modeler → Compiler → SpeedTree-Generated Shaders/SDK).

5. Fallback textures in the RenderInterface library were not being released correctly.

6. CExtents::Orient() was not properly orienting the underlying axis-aligned bounding box.

7. Bone exporting had a few issues, including not scaling correctly with the tree when scaling was handled at run-time in the SDK.

8. In DirectX 10 and 11, there was a code & comment bug in CInstancingMgrDirectX10::Init() regarding the value of sBufferDesc.ByteWidth being an integer multiple of 16.

9. DRIVER BUG: Some AMD cards may render grass geometry without smooth LOD fading along with some popping. We updated to the latest driver available from AMD and the problem was fixed. We noticed this bug in the 6.2.0, 6.2.2, and 6.3.0 versions of our Reference Application.

Reference Application Changelist

1. Explicit MSAA resolve forward render path added (CMyForwardMsaaResolveTargets and associated render functions).

2. SRenderState initialization for the sky, terrain, and overlay systems in the reference application updated to match new CRenderStateRI::InitGfx() parameters.

3. Various reorganization with variable names associated with MSAA alpha-to-coverage.

4. Adjusting lighting settings for Xbox 360 forest configuration file (SFC).

  • A few notes about MSAA/A2C support in the Reference Application:
  • In forward rendering mode, nearly all desktop platforms and advanced consoles support full MSAA with A2C rendering effects.
  • In deferred rendering mode, only DX10 and DX11 support MSAA and A2C. This in no way impacts your approach to implementing these or other AA effects in your own game or application.