SLI Zone
NVIDIA.com Developer Home

Last Updated: 02 / 23 / 2009

Cg Toolkit 2.1, November 2008 Release

Cg: C for Graphics for DirectX and OpenGL, PC and ConsolesIntroduction

The award-winning Cg Toolkit provides a compiler for the Cg 2.1 language, runtime libraries for use with both leading graphics APIs, runtime libraries for CgFX, example applications, and extensive documentation. Supporting over 25 different OpenGL and DirectX profile targets, Cg 2.1 allows you to incorporate stunning interactive effects into your 3D applications.

Downloads | Supported Profiles | The Cg Tutorial Book

The components of the Cg Toolkit include:

  • durer.cgfx from the NVIDIA Shader LibraryNVIDIA Cg Compiler Release 2.1
  • Cg/CgFX Runtime libraries for OpenGL and Direct3D
  • Cg User's Manual
  • Documentation for the Cg Language Specification, runtime APIs, Cg standard library, CgFX states, and the Cg profiles.
  • Cg examples

Cg 2.1 supports a broad range of desktop operating systems (Windows 2000, XP, Vista, Mac OS X for Tiger and Leopard, 32-bit and 64-bit x86 Linux, and x86 Solaris) so your shader-enabled applications can use the same shaders no matter your choice of operating system or graphics API.

We hope that you will enjoy the exciting world of Cg programming.

Latest Cg Toolkit Features

The November 2008 version of Cg 2.1 corrects several issues found in the prior release:

  • Fixed crash when cgGL routines were called without a current GL context
  • Fixed a bug in compiling CgFX files with multiple geometry shaders
  • Fixed D3D10 runtime's handling of the parameter buffer (cbuffer)
  • D3D10 runtime now correctly deals with true integer parameters
  • Shared parameter arrays were not being updated correctly
  • Resolved an issue with changing the variability of matrices to CG_LITERAL

The 2.1 release of Cg introduces several new features and improvements:

  • New Direct3D 10 profiles (vs_4_0 and ps_4_0) to cross-translate Cg to HLSL10
  • New Runtime library for Direct3D 10
  • Virtual file system for including source during shader compilation
  • Improvements to the GLSL translation profile
  • Documentation updates for all new API and features
  • New examples demonstrating Direct3D10 usage and more
  • Runtime performance improvements and bug fixes
  • Compatibility with Cg 2.0

Please see the release notes for details, known issues, and more.

 

New Profiles

Name

Graphics API

Domain

Graphics hardware required

vs_4_0 Direct3D 10.0 Vertex Multi-Vendor DirectX 10 GPUs
ps_4_0 Direct3D 10.0 Fragment Multi-Vendor DirectX 10 GPUs

Existing Profiles

Name

Graphics API

Domain

Graphics hardware required

gp4vp OpenGL Vertex GeForce 8 series NV_gpu_program4 + NV_vertex_program4
gp4gp OpenGL Geometry GeForce 8 series NV_gpu_program4 + NV_geometry_program4
gp4fp OpenGL Fragment GeForce 8 series NV_gpu_program4 + NV_fragment_program4
hlslv DirectX 9c Vertex Multi-vendor DirectX 9c GPUs
hlslf DirectX 9c Fragment Multi-vendor DirectX 9c GPUs
glslv OpenGL Vertex Multi-vendor OpenGL 2.0 / GLSL GPUs
glslf OpenGL Fragment Multi-vendor OpenGL 2.0 / GLSL GPUs
arbvp1 OpenGL Vertex Multi-vendor OpenGL 1.x GPUs ARB_vertex_program
arbfp1 OpenGL Fragment Multi-vendor OpenGL 1.x GPUs ARB_fragment_program
vp40 OpenGL Vertex GeForce 6 and up NV_vertex_program3
fp40 OpenGL Fragment GeForce 6 and up NV_fragment_program2
vp30 OpenGL Vertex GeForce 5 and up NV_vertex_program2
fp30 OpenGL Fragment GeForce 5 and up NV_fragment_program
vp20 OpenGL Vertex GeForce 3, 4 Ti, and up NV_vertex_program
fp20 OpenGL Fragment GeForce 3, 4 Ti, and up NV_texture_shader + NV_register_combiners2
vs_1_1 DirectX 8 & 9 Vertex Multi-vendor DirectX 8 & 9 GPUs
ps_1_1 DirectX 8 & 9 Fragment Multi-vendor DirectX 8 & 9 GPUs
ps_1_2 DirectX 8 & 9 Fragment Multi-vendor DirectX 8 & 9 GPUs
ps_1_3 DirectX 8 & 9 Fragment Multi-vendor DirectX 8 & 9 GPUs
vs_2_0 DirectX 9 Vertex Multi-vendor DirectX 9 GPUs
ps_2_0 DirectX 9 Fragment Multi-vendor DirectX 9 GPUs
vs_2_x DirectX 9 Vertex Multi-vendor DirectX 9 GPUs
ps_2_x DirectX 9 Fragment Multi-vendor DirectX 9 GPUs
vs_3_0 DirectX 9c Vertex Multi-vendor DirectX 9c GPUs
ps_3_0 DirectX 9c Fragment Multi-vendor DirectX 9c GPUs

The Cg Tutorial: Available in Print or Readable Online The Cg Tutorial Book

Update! Now available in both print and free, online-readable versions.

The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics takes a tutorial-based approach to teaching Cg and high-level shading, and it comes complete with a standalone application that allows you to try out and modify the book's examples. To learn more about The Cg Tutorial or for information on discounted print copies, please visit the book's home page.

Downloads

Documentation
[Download] Cg Release Notes
[Download] Cg Reference Manual
[Download] Cg Specifications (PDF)
[Download] Cg Users Manual (English) (old, not updated)
[Download] Cg Users Manual (Japanese) (not current)
[Download] Cg Bumpdemo Tutorial (old, not updated)
[Download] CgFX Bumpdemo Tutorial (old, not updated)


Install Packages
[Download] Windows
[Download] Mac OS X (Leopard and Tiger) Installer
[Download] Linux X86 (gzipped tar)
[Download] Linux X86-64 (gzipped tar)
[Download] Linux X86 (RedHat RPM)
[Download] Linux X86-64 (RedHat RPM)
[Download] Solaris X86 (SUN Package)

Cg Redistributable Binaries
Cg redistributable binaries package contains the libraries and executables for all supported platforms of a Cg release in a single zip file.
Go to the Cg Redistributable Binaries Page.

Previous Versions
Cg Toolkit 2.1 October 2008
Cg Toolkit 2.1 Beta
Cg Toolkit 2.0 May 2008
Cg Toolkit 2.0 Jan 2008
Cg Toolkit 2.0 Beta
Cg Toolkit 1.5 Sep. 2007
Cg Toolkit 1.5
Cg Toolkit Feb. 2007
Cg Toolkit Sep. 2006
Cg Toolkit 1.5 Beta 2
Cg Toolkit 1.5 Beta 1
Cg Toolkit 1.4.1
Cg Toolkit 1.2.1
Cg Toolkit 1.1




nvidiadeveloper Twitterfeed
Popular References
Free Books Online