CG FAQ
CG language
What is CG?
C for graphics. CG is a high-level language for GPU programming, developed by NVIDIA under close collaboration of Microsoft.
Who is maintaining the CG language norm?
NVIDIA maintains CG language specification and continues to work with Microsoft to maintain compatibility between it and DirectX High Level Shading Language (HLSL).
Is CG private?
The CG language specification is open and open, so other vendors can use it to achieve products. To encourage this, NVIDIA has opened the source code of CG compiler technology, using unlimited, free licenses.
The CG compiler implemented by the manufacturer is private and owned by the developer. NVIDIA has developed and has NVIDIA CG Compiler, and expects and encourages other manufacturers to develop their own CG compiler products.
Is CG replaced OpenGL?
No, CG is a layer above OpenGL. The assembly code output by the CG compiler is an OpenGL extension-such as ARB_VERTEX_PROGRAM, ARB_FRAGMENT_PROGRAM, and NV_VERTEX_PROGRAM - and OpenGL 1.4 defined formats.
Is CG replaced DirectX?
No, this language is a layer above the DirectX vertex and the pixel shader API, and the establishment shader code is also necessary on the basis of the standard vertex and pixel coloration of DirectX 8.0 and DirectX 9.0.
How is it compared to Microsoft HLSL?
The CG language specification is compatible with Microsoft's High Level Shading Language. The CG shader follows Microsoft's latest D3DX Effects format standard set, and is also fully compatible with Microsoft's HLSL.
What is the difference between the CG language and the CG compiler?
The CG language is syntax and syntax, suitable for real-time programmable GPU language.
The CG compiler is an application that accepts the output of the CG language input, and generates an output of one of a variety of standard assembly language formats that can be accepted by modern programmable GPUs.
What did NVIDIA have made OpenGL's future?
NVIDIA is loyal to OpenGL development, and will actively work in the forefront of OpenGL development. NVIDIA is proposed and leads OpenGL 1.4 development, and its main components are the assembly language interface of programmable GPU vertex hardware. In the case where this OpenGL version has been successfully completed, NVIDIA now cooperates with ARB to define and develop the next version of OpenGL, which makes the chip / pixel programmability as its core function.
platform
Which platforms support the NVIDIA CG compiler?
Windows (DirectX 8, DirectX 9, OpenGL) Linux (OpenGL) Mac OS X (OpenGL - ARB_VERTEX_PROGRAM Support) XBOX (DirectX 8 vertex, pixel coloring procedure)
What is the other platform?
NVIDIA provides the source code for the front-end key of the NVIDIA CG compiler, making the rapid transplant of other platforms possible.
How does CG support future GPU?
CG is designed to support many programmable GPUs, and NVIDIA wants CG to become a key technology, allowing developers to access and use future increasing programmable GPU architectures.
NVIDIA CG Toolbox
What is NVIDIA to developer?
NVIDIA is currently available to the developer NVIDIA CG toolbox, which consists of the following components:
NVIDIA Cg Compiler: DirectX 8: vertex and pixel shaders DirectX 9: vertex and pixel shaders OpenGL ARB_vertex_program, OpenGL ARB_fragment_programNV_vertex_program [2], NV_fragment_programCg language specification Cg standard library Cg runtime (support DirectX 8, DirectX 9 and the OpenGL) CG User Manual NVIDIA CG Browser (with many coloring examples and demo) GeForce FX coloring example
Will there be other versions of the toolkit?
Yes, the new version of the NVIDIA CG toolkit will support and include:
Increasing the optimization of the compiler and exemplary and examples further support. FX runtime compilation
Does the NVIDIA CG compiler will be specially optimized for a platform?
Yes, the NVIDIA CG compiler is optimized for a variety of target GPU architectures.
Why can't CG run on my old graphics TNT / VOODOO / MATROX?
NVIDIA CG Toolkit now requires a programmable GPU - preferably DirectX 8 level GPU, such as GeForce3 or GeForce4 Ti, or Radeon 8500.
When will I add support for Mac OS X / Xbox / TNT?
Mac OS X - In development, Xbox [DX8 already supported now, TNT [will not increase support].
Who is using CG?
Hundreds of developers recognized CG:
Thousands of developers started training on CGs that started in 2001, and made a lot of contributions to the development of this language.
Cg support of some developers include: Auran, Bethesda Softworks, Beyond Games, Bioware, Blizzard Entertainment, Cat Daddy, CodeCult, Codemasters, Contraband, Core Design, Croteam, Cryptic Studios, Crytek, Dark Black, Destineer, Electronic Arts, Elixir, EMG, Ensemble Studios, Fox Interactive, Grin, Headgate, High Voltage, Inevitable, Ion Storm, Kaboom, Kuju, Lego Media, Lionhead, Lithtech, Massive, Maxis, Nadeo, NAMCO, NemoSoft, Novalogic, Pivotal, Rage Sheffield, Relic Entertainment , Ritual, SEGA-AM2 Co. Ltd., Sony Online Entertainment, Spinvector, Steel Monkeys, Valve, Vupine, and more.
Middleware developers also recognized CG: NDL, Criterion, Intrinsic Graphics DCC applications and tools, such as Alias | Wavefront Maya, Discreet 3ds Max, SoftImage | XSI and Right Hemisphere's Deep Exploration embedded CG into digital artist's workflow.