Cg Toolkit Cg 3.1 Toolkit Documentation
Cg / Releases / cg_3_1_0010

Name

cg_3_1_0010 - Cg Toolkit 3.1 February 2012

Summary

Improvements

Added Cg language support for uniform buffers.
Added OpenGL Unified Buffer Object (UBO) support for buffers.
Added OpenGL GLSL version 110 and 120 translation support.
New tessellation examples added.
New uniform buffer examples added.
VC10 projects added for examples.

Documentation

Note: The Cg Users Manual has not been updated for this release.
Updated reference manual for new entry points.
Updated Cg standard library documentation.
Release history documentation added.

Bug Fixes

Fixed buffer emulation in DX9, arbvp1 and arbfp1 profiles.
Fixed f3dtex2D standard library issue.
Added samplerRBUF to standard library.
Fixed issues with implicit cast of int to uint.
Fixed cgc compiler issue for $COL0.
Fixed cgGetParameterResourceIndex to return the proper resource index.
Fixed var bindings info in GLSL and fp20 profiles.
Improved the DX10 and DX11 examples.
Added support for non-uniform matrix argument in the glslf profile.
Increased GLSL output color array to 8.
Added CENTROID, FLAT and NOPERSPECTIVE semantic support to gp4 and gp5 profiles.
Fixed an issue for int and uint in GLSL profile versions before 130.
Fixed unsigned integer uniform usage in GLSL profiles.
Fixed SAMPLEPOS usage in the gp5fp profile.
Fixed the tex2dbias usage in the arbfp1 profile.

New Api

Below is the complete list of the new entry points in Cg 3.1. See the Cg Reference Manual for further details.

cgGetFirstUniformBufferParameter
cgGetNamedEffectUniformBuffer
cgGetNamedProgramUniformBuffer
cgGetNamedUniformBufferParameter
cgGetProfileSibling
cgGetProgramOutputVertices
cgGetUniformBufferBlockName
cgGetUniformBufferParameter
cgIsBuffer
cgSetProgramOutputVertices
cgSetUniformBufferParameter
cgGLCreateBufferFromObject
cgGLDetectGLSLVersion
cgGLGetContextGLSLVersion
cgGLGetContextOptimalOptions
cgGLGetGLSLVersion
cgGLGetGLSLVersionString
cgGLSetContextGLSLVersion
cgGLSetContextOptimalOptions
cgD3D10CreateBufferFromObject
cgD3D10CreateBuffer
cgD3D10GetBufferObject
cgD3D11CreateBufferFromObject
cgD3D11CreateBuffer
cgD3D11GetBufferObject

Compatibility Notes

Although the 3.1 release of Cg is generally compatible with previous releases, several improvements and other changes may affect existing applications. This section details these potential compatibility issues.

Cg 3.1 supports defining constant blocks with the uniform keyword. Use of a BUFFER semantic on simple variables and structs has been deprecated. By default cgc will now issue a warning when the BUFFER semantic is used (and an error when BUFFER is used on a struct with a GLSL profile). The -no_uniform_blocks compiler flag can be used to disable these warnings and errors, but it also removes support for the new uniform keyword method of defining constant blocks.

There aren't any other known compatibility issues with programs written against Cg 3.0. For programs written against Cg 2.2 or earlier, refer to the Compatibility Notes section of the release notes for Cg 3.0.

Deprecated

Manual pages have been removed.
D3D8 support has been removed.
Mac OS X 10.4 support has been removed.

Download

Windows x86/x86-64 installer for Windows XP, Vista and Win7.
Mac OS X ppc/i386/x86_64 dmg for Leopard, Snow Leopard and Lion.
Linux x86 tgz tarball, rpm for RedHat and deb for Debian and Ubuntu.
Linux x86-64 tgz tarball, rpm for RedHat and deb for Debian and Ubuntu.

See Also

2.1.0009, 2.1.0012, 2.1.0016, 2.1.0017
2.2.0004, 2.2.0006, 2.2.0010, 2.2.0017
3.0.0007, 3.0.0015, 3.0.0016
3.1.0010, 3.1.0013

Cg Toolkit | Cg Toolkit | Download | Release Archive | Profiles | Reference | Books | Discussions |


Cg Releases

cg_2_1_0009
cg_2_1_0012
cg_2_1_0016
cg_2_1_0017
cg_2_2_0004
cg_2_2_0006
cg_2_2_0010
cg_2_2_0017
cg_3_0_0007
cg_3_0_0015
cg_3_0_0016
cg_3_1_0010
cg_3_1_0013