System, method and computer program product for generating a shader program
AssigneeNVIDIA Corporation
InventorsDouglas Sim Dietrich, Jr., Ashutosh G. Rege, Christopher T. Maughan, Jerome F. Duluk, Jr.
Life of this patent
Estimating the term…
Abstract
A method and computer program product are provided for generating a shader program. Initially, a file associated with a graphics effect is a selected. Such file is then read and processed. A shader program is subsequently generated based on the processing of the file to apply the graphics effect to an object.
Claims46
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the shader program is capable of being altered by tweaking the file.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the file includes a plurality of interface data capable of being processed to generate the shader program for different graphics application program interfaces.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the file includes a plurality of implementation data capable of being processed to generate the shader program for different hardware graphics pipeline platforms.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the selecting, reading, processing, and generating are carried out utilizing a plug-in.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the processing includes setting up a plurality of objects;
- wherein the processing includes selecting one of the objects;
- wherein the processing includes selecting one of a plurality of graphics effects;
- wherein the processing includes selecting a render pass;
- wherein the processing includes setting up the render pass;
- wherein the processing includes drawing the object with the selected graphics effect;
- wherein the processing includes determining whether more objects exist, and selecting another object if more objects exist.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the processing includes setting up a plurality of objects;
- wherein the processing includes selecting one of the objects;
- wherein the processing includes selecting one of a plurality of graphics effects;
- wherein the processing includes selecting a render pass;
- wherein the processing includes setting up the render pass;
- wherein the processing includes drawing the object with the selected graphics effect;
- wherein the processing includes determining whether more graphics effects exist, and selecting another graphics effect if more graphics effects exist.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the file includes requirements, the shader program being generated based on the requirements;
- wherein the requirements include a default set of requirements.
A method for generating a shader program, comprising:
- selecting a file associated with a graphics effect;
- reading the file;
- processing the file;
- and
- generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the file is capable of referencing both compiled and un-compiled code.
A system for generating a shader program, comprising:
- an interface;
- an application program for working in conjunction with the interface to process a file;
- and
- wherein the shader program is generated based on the processing of the file to apply the graphics effect to an object;
- wherein the shader program is capable of being altered by tweaking the file.
A system for generating a shader program, comprising:
- means for selecting a file associated with a graphics effect;
- means for reading the file;
- means for processing the file;
- and
- means for generating the shader program based on the processing of the file to apply the graphics effect to an object;
- wherein the shader program is capable of being altered by tweaking the file.
A computer program product for generating a shader program, comprising:
- computer code for selecting a file associated with a graphics effect;
- computer code for reading the file;
- computer code for processing the file;
- and
- computer code for generating the shader program based on the processing of the file to apply the graphics effect to an objects;
- wherein the shader program is capable of being altered by tweaking the file.
A data structure stored in memory for generating a shader program, comprising:
- a file including:
- a textual descriptive object for identifying a graphics effect associated with the file, and
- a requirements object for identifying requirements for the shader program necessary to generate the shader program;
- wherein the shader program is capable of being generated based on the objects of the file;
- wherein the shader program is capable of being altered by tweaking the file.
A method for generating a shader program utilizing an application, comprising:
- selecting a file associated with a graphics effect;
- selecting a graphics application program interface;
- receiving implementation data representing a plurality of different hardware graphics pipeline platforms based on the selection;
- receiving parameters based on the implementation data;
- and
- deciding which of the hardware graphics pipeline platforms to use based on the parameters;
- wherein the shader program is generated for use with the hardware graphics pipeline platforms.
A method for generating a shader program utilizing an interface, comprising:
- generating implementation data representing a plurality of different hardware graphics pipeline platforms;
- generating parameters based on the implementation data;
- and
- deciding which of the hardware graphics pipeline platforms to use based on the parameters;
- wherein the shader program is generated for use with the hardware graphics pipeline platforms.
A method for generating a shader program, comprising:
- initializing an interface;
- registering at least one of custom types and custom functions;
- setting up a plurality of objects;
- selecting one of the objects;
- selecting one of a plurality of graphics effects;
- selecting a render pass;
- setting up the render pass by pointing to parameters;
- drawing the object with the selected graphics effect;
- determining whether more render passes exist;
- selecting another render pass if more render passes exist;
- determining whether more graphics effects exist;
- selecting another graphics effect if more graphics effects exist;
- determining whether more objects exist;
- and
- selecting another object if more objects exist;
- wherein the shader program is generated based on processing of a file which is associated with a graphics effect.
A computer implemented method for determining whether a file is distributable, comprising:
- identifying a file stored in memory;
- determining whether the file is distributable;
- and
- indicating whether the file is distributable;
- wherein a shader program is capable of being generated based on processing of the file which is associated with a graphics effect;
- wherein the shader program is capable of being altered by tweaking the file.
A data structure stored in memory for identifying a shader program, comprising:
- a file including:
- a textual descriptive object for identifying a graphics effect associated with the file, and
- a plurality of shader code segments capable of executing the graphics effect in a plurality of operating environments;
- wherein the shader code segments are organized in terms of the different operating environments;
- wherein the shader program is capable of being altered by tweaking the file.
A method for generating a shader program using a graphical user interface, comprising:
- displaying a plurality of graphics effects for allowing a user to select one graphics effect;
- displaying the selected graphics effect as applied to an object using a file;
- modifying the file based on user input;
- processing the file;
- and
- generating a shader program based on the processing of the file;
- wherein the shader program is capable of being altered by tweaking the file.
Dependencies are inferred from the claim text.