US20060071933A1 - Application binary interface for multi-pass shaders - Google Patents

Application binary interface for multi-pass shaders Download PDF

Info

Publication number
US20060071933A1
US20060071933A1 US10/959,695 US95969504A US2006071933A1 US 20060071933 A1 US20060071933 A1 US 20060071933A1 US 95969504 A US95969504 A US 95969504A US 2006071933 A1 US2006071933 A1 US 2006071933A1
Authority
US
United States
Prior art keywords
pass
binary
shader
graphics
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/959,695
Inventor
Robin Green
Axel Mamode
Roy Hashimoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to US10/959,695 priority Critical patent/US20060071933A1/en
Assigned to SONY COMPUTER ENTERTAINMENT INC. reassignment SONY COMPUTER ENTERTAINMENT INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MAMODE, AXEL, GREEN, ROBIN JAMES, HASHIMOTO, ROY TADASHI
Publication of US20060071933A1 publication Critical patent/US20060071933A1/en
Assigned to SONY NETWORK ENTERTAINMENT PLATFORM INC. reassignment SONY NETWORK ENTERTAINMENT PLATFORM INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SONY COMPUTER ENTERTAINMENT INC.
Assigned to SONY COMPUTER ENTERTAINMENT INC. reassignment SONY COMPUTER ENTERTAINMENT INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Assigned to SONY INTERACTIVE ENTERTAINMENT INC. reassignment SONY INTERACTIVE ENTERTAINMENT INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SONY COMPUTER ENTERTAINMENT INC.
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

An application binary interface includes a descriptor specifying a binary shader for each pass of a multi-pass shader. The application binary interface also includes a graphics state of a graphics object for each pass of the multi-pass shader. The graphics state for the first pass is an initial graphics state of the graphics object. The graphics state for each subsequent pass specifies a change from the graphics state of a previous pass. The application binary interface further includes parameters for the binary shaders. The application binary interface links the binary shaders together based on the parameters. Further, the parameters of the binary shaders may be modified at run time to configure the multi-pass shader. The binary shader of each pass is then executed based on the graphics state and parameters of the pass to render the graphics object.

Description

    BACKGROUND
  • 1. Field of the Invention
  • The present invention relates generally to computer graphics. More particularly, the present invention relates to systems and methods of controlling precompiled computer programs in computer graphics systems.
  • 2. Background Art
  • Prior art computer graphics systems typically execute an application program, such as a computer video game program, to generate graphics images for display on a computer screen. One type of prior art computer graphics system includes an on-line compiler. In this type of computing system, the computer graphics system compiles portions of the application program while executing other portions of the application program in real time. In this way, a first portion of the application program executing in the computer graphics system can provide run time parameters for compiling a second portion of the application program.
  • In some situations, a portion of the application program written specifically for graphics hardware in the computer graphics system can be simplified by using run time parameters during compilation. For instance, a first portion of the application program may include a loop construct having a loop count parameter, and the compiler can unroll the loop construct based on a value of the loop count parameter provided by a second portion of the application program at run time. Including a compiler in the computer graphics system, however, increases the cost and complexity of the graphics computer system.
  • Another type of prior art computer graphics system executes precompiled application programs. In this type of computer graphics system, an application program is compiled into binary programs by using an off-line compiler. The binary programs are then provided to the computer graphics system, which executes the binary programs. Precompiling the application program avoids the need for an on-line compiler but may complicate portions of the application program written specifically for graphics hardware in the computer graphics system. Specifically, these portions of the application program may require fixed parameters at compile time.
  • One type of program typically found in an application program written for a computer graphics systems is a shader. A shader generates visual effects for graphics objects. In many computer graphics systems, the shader controls multiple texture units in the graphics hardware, each of which can access samples from a texture. Moreover, the shader generates colors for the graphics object based on the textures accessed from the texture units.
  • Some shaders require a greater number of textures for creating a visual effect than the number of texture units available in the graphics hardware of a computer graphics system. Consequently, some compilers cannot compile these application programs for these computer graphics systems. Other compilers generate a multi-pass shader by breaking up the task of creating a visual effect into passes such that each pass requires no more texture units than the number of texture units available in the computer graphics system. Each pass of the multi-pass shader performs an operation on a graphics to generate a result. In this way, a pass of the multi-pass shader may perform an operation based on a result generated in a previous pass.
  • In those types of computer graphics systems that compile programs on-line, an application program can modify parameters of a shader to configure the shader at run time, which may simplify the task of programming the shader. In contrast, those computer graphics systems that rely on an off-line compiler may need to fix some parameters of the shader at the time of compilation (i.e., compile time). Consequently, the shader (i.e., the precompiled shader) is not configurable at run time, which may complicate the task of programming the shader.
  • In light of the above, there exists a need to simplify the task of programming a multi-pass shader. Additionally, these exists a need for a precompiled multi-pass shader that is configurable at run time.
  • SUMMARY OF THE INVENTION
  • An application binary interface addresses the need for simplifying the task of programming a multi-pass shader. Further, the application binary interface addresses the need for a precompiled multi-pass shader that is configurable at run time. For each pass of a multi-pass shader, the application binary interface specifies a binary shader, one or more parameters for the binary shader, and a graphics state. The graphics state for a first pass specifies an initial graphics state of a graphics object, and the graphics state of each subsequent pass specifies a change from the graphics state of a previous pass. The parameters link the binary shaders together so that a binary shader of a given pass can use a result generated by a binary shader of a previous pass. The binary application interface simplifies the task of programming the multi-pass shader by specifying the binary shaders, parameters for the binary shaders, and graphics states for the multi-pass shader in a binary file.
  • In one embodiment, a binary application program determines the binary shaders, parameters, and graphics states for the multi-pass shader based on the binary application interface. Further, the application program can modify the parameters of the application binary interface at run time to configure the multi-pass shader. The binary shader for each pass is then executed based on the parameters of the binary shader and the graphics state of the pass to render the graphics object.
  • The application binary interface, in accordance with one embodiment of the present invention, includes a descriptor for each pass of a multi-pass shader that specifies a binary shader for the pass. The binary application interface also includes one or more parameters for each binary shader. Further, the binary application interface includes a graphics state for each pass.
  • A system for generating an application binary interface, in accordance with one embodiment of the present invention includes a memory system that stores a computer program for rendering a graphics object and a compiler. The system further includes a computing processor that executes the compiler on the computer program to generate an application binary interface. The application binary interface includes a descriptor for each pass of the multi-pass shader that specifies a binary shader of the pass. The application binary interface also includes one or more parameters for the binary shader of each pass and a graphics state of each pass.
  • In a method of rendering a graphics object, in accordance with one embodiment of the present invention, a binary shader and a graphics state of a first pass of a multi-pass shader are identified based on an application binary interface. The binary shader of the first pass is then executed based on the graphics state of the first pass to generate a result for the first pass. A binary shader and a graphics state of a second pass of the multi-pass shader are also identified based on the application binary interface. The binary shader of the second pass is then executed based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass. This process may then be repeated for any additional passes. In one embodiment, the result of a final pass is a color of the graphics object.
  • A system for rendering a graphics object, in accordance with the present invention, includes a computing processor that identifies both a binary shader and a graphics state of a first pass of a multi-pass shader based on an application binary interface. The computing processor also identifies both a graphics state and a binary shader of a second pass of the multi-pass shader based on the application binary interface. The system further includes a graphics processor that executes the binary shader of the first pass based on the graphics state of the first pass to generate a result for the first pass. Additionally, the graphics processor executes the binary shader of the second pass based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass. This process may then be repeated for any additional passes. In one embodiment, the result of a final pass is a color of the graphics object.
  • A computer program product for rendering a graphics object, in accordance with the present invention, includes computer program code for identifying both a binary shader and a graphics state of a first pass of a multi-pass shader based on an application binary interface, and executing the binary shader of the first pass based on the graphics state of the first pass to generate a result for the first pass. The computer program product further includes computer program code for identifying both a binary shader and a graphics state of a second pass of the multi-pass shader based on the application binary interface, and executing the binary shader of the second pass based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass. This process may then be repeated for any additional passes. In one embodiment, the result of a final pass is a color of the graphics object.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an exemplary computing environment, in accordance with one embodiment of the present invention;
  • FIG. 2 is a block diagram of the exemplary computing system of FIG. 1;
  • FIG. 3 is a block diagram of the exemplary computer graphics system of FIG. 1;
  • FIG. 4 is a block diagram of the exemplary graphics pipeline of FIG. 3;
  • FIG. 5 is a block diagram of the exemplary application program of FIG. 1;
  • FIG. 6 is a block diagram of the exemplary binary program of FIG. 1;
  • FIG. 7 is a flow chart for a method of generating an application binary interface, in accordance with one embodiment of the present invention; and
  • FIG. 8 is a flow chart for a method of rendering a graphic object by using an application binary interface, in accordance with one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • According to one embodiment of the present invention, an application binary interface includes a descriptor for each pass of a multi-pass shader specifying a binary shader for the pass. The application binary interface also includes one or more parameters for the binary shader of each pass. Further, the application binary interface includes a graphics state of each pass. The graphics state of the first pass is an initial graphics state of a graphics object, and the graphics state of each subsequent pass specifies a change from the graphics state of a previous pass. The parameters link the binary shaders together such that a binary shader of a given pass can use a result generated by a binary shader of a previous pass. The binary shader of each pass is then executed based on the graphics state and the parameters of the pass to render the graphics object.
  • FIG. 1 depicts an exemplary computing environment 100 in accordance with one embodiment of the present invention. The exemplary computing environment 100 includes a computing system 105 and a computer graphics system 120. The exemplary computer system 105 includes a computer program 110, a compiler 115, and a binary program 125. In operation, the computing system 105 executes the compiler 115 on the computer program 110 to generate the binary program 125. The binary program 125 is then provided to the computer graphics system 120. The computer graphics system 120 executes the binary program 125 and renders graphics images based on the binary program 125.
  • In one embodiment, the computer program 110 is a video game program. In this embodiment, the computer graphics system 120 executes the binary program 125 to render graphics images for the video game program. In another embodiment, the computer system 105 includes the computer graphics system 120.
  • FIG. 2 depicts the exemplary computing system 105 of FIG. 1. The exemplary computing system 105 includes a computing processor 200, input-output (I/O) device(s) 215, and a memory system 220 coupled in communication with each other via a communication bus 205. The memory system 220 stores the computer program 110 and the compiler 115. The computing processor 200 executes the compiler 115 on the computer program 110 to generate the binary program 125 and provides the binary program to the I/O device(s) 215.
  • In one embodiment, the binary program 125 includes computer program code stored on a compact disc read-only memory (CD-ROM). In another embodiment, the binary program 125 includes computer program code stored on a digital versatile disc (DVD). In still another embodiment, the binary program 125 includes computer program code stored on a portable memory device, such as a flash memory device.
  • FIG. 3 depicts the exemplary computer graphics system 120 of FIG. 1. The exemplary computer graphics system 120 includes input-output (I/O) device(s) 305, a computing processor 300, a memory system 320, and a graphics processor 325 coupled in communication with each other via a communication bus 315. In this embodiment, the I/O device(s) 305 receives the binary program 125 and the computing processor 300 stores the binary program 125 into the memory system 320. The computing processor 300 and the graphics processor 325 then execute various portions of the binary program 125 stored in the memory system 320 to render graphics images, as is described more fully herein.
  • FIG. 4 is a block diagram of the exemplary graphics processor 300 of FIG. 3. In this embodiment, the graphics processor 325 includes a graphics pipeline 400. The graphics pipeline 400 includes a transform unit 405, a raster unit 410, a texture unit 415, and a frame buffer 420. The transform unit 405 executes a vertex program to transform a graphics object into graphics primitives defined by vertices, such as lines and triangles. The raster unit 410 transforms the graphics primitives into pixels and generates a value for each pixel. Optionally, the texture unit 415 accesses samples from one or more textures and provides data based on the samples to the raster unit 410. In turn, the raster unit 410 generates the value for each pixel based on the data received from the texture unit 415. The frame buffer 420 stores the value of each pixel in the graphics object. In one embodiment, the value of each pixel represents a color of the pixel. In a further embodiment, the frame buffer 420 stores the value of each pixel in a graphics image composed of multiple graphics objects.
  • In one embodiment, the graphics pipeline 400 includes a plurality of texture units 415, each of which can access one or more textures. In this embodiment, each texture unit 415 concurrently generates an intermediate value for each pixel based on the texture accessed by the texture unit 415, and the raster unit 410 combines the intermediate values of the pixel to generate the value of the pixel. In another embodiment, the value of the pixel represents a color of the pixel.
  • FIG. 5 depicts the exemplary computer program 110 of FIG. 1. The computer program 110 includes an application 500 (i.e., application program) and a shader 505 (i.e., a shader program). The shader 505 includes computing instructions for rendering a graphics object, and the application 500 includes instructions for invoking the shader 505 to render a graphics object. Further, the application 500 can include instructions for invoking multiple shaders 505 to render multiple graphics objects for a graphics image.
  • FIG. 6 depicts the exemplary binary program 125 of FIG. 1. The binary program 125 includes a binary application 600 (i.e., a binary application program), one or more binary shaders 605 (i.e., binary shader programs) and an application binary interface 610. In this embodiment, the application binary interface 610 includes a descriptor for specifying a binary shader, one or more parameters for the binary shader, and a graphics state for each pass of a multi-pass shader. The graphics state of the first pass is an initial graphics state for a graphics object. The graphics state of each subsequent pass specifies a change from the graphics state of the previous pass. The parameters link the binary shaders together so that the binary shader of a given pass can use a result generated by the binary shader of a previous pass. For example, an input parameter of the binary shader of the given pass can be an output parameter of the binary shader of the previous pass. In this way, the passes of the multi-pass shader can be executed to render the graphics object. In a further embodiment, the passes of the multi-pass shaders are arranged in serial form. In this embodiment, a subsequent pass of the multi-pass shaders follows a previous pass of the multi-pass shader.
  • In one embodiment, the compiler 115 (FIG. 1) compiles the shader 505 (FIG. 5) to generate an expression for rendering a graphics object. Subsequently, the compiler 115 identifies subexpressions in the expression such that each subexpression can be executed by the graphics processor 325 (FIG. 3) in a single pass. The compiler 115 then generates the binary shader 605, one or more parameters for the binary shader, and the graphic state for each subexpression. In this embodiment, the graphics states link the binary shaders 605 together so that the graphics processor 325 can execute the binary shaders 605 to render the graphics object. For example, a binary shader 605 can store data in a location (e.g., a texture unit or frame buffer) in the graphics processor 325 and a graphics state can specify that location. Another binary shader 605 can then determine the location of the data based on the graphics state.
  • In another embodiment, a graphics state can specify characteristics of the computer graphics system 120 (FIG. 3) or a graphics image. For example, the graphics state can specify a number of texture units available in the graphics processor 325. As another example, the graphics state can specify a pixel size of the graphics image. In still another example, the graphics state can specify a texture program to be executed by the graphics processor 325 on the graphics object.
  • According to an exemplary embodiment, the application 500 (FIG. 5) includes computing instructions for invoking a shader 505 via the application binary interface 610. In this embodiment, the computing instructions include one or more variables, each of which corresponds to a parameter in the application binary interface 610. Consequently, the binary application 600 can determine the value of a variable and bind the value of the variable to the corresponding parameter at run time. In this way, the binary application 600 configures a multi-pass shader at run time based on the value of the variable.
  • In another embodiment, the value of a variable is limited to a predetermined set of values in the application 500. In this embodiment, the compiler 115 generates a binary shader 605 for each value in the predetermined set by setting the parameter to the value. In this way, the parameter of each binary shaders 605 is fixed at compile time. The binary application 600 then determines the value of the variable at run time to select the binary shader 605 identified by the value of the variable. In this way, the binary application 600 configures a multi-pass shader at run time based on the value of the variable.
  • A representation of a shader, a multi-pass shader, and an exemplary application binary interface 610 for the multi-pass shader is depicted in Table 1. As depicted in Table 1, the shader is represented by the expression “output=cosine (texture_lookup(x,y))” in which “x” and “y” are input parameters and “output” represents an output value of the shader. The first pass of the multi-pass shader is represented by the subexpression “tmp=texture_lookup (x, y)” and the second pass is represented by the subexpression “output=cosine (tmp).” In the first pass, “x” and “y” are input parameters and “tmp” represents an output value of the first pass. In the second pass, “tmp” is an input parameter and “output” represents an output value of the second pass.
  • As is also depicted in table 1, the application binary interface 610 specifies the first pass and the second pass of the multi-pass shader. For the first pass, a descriptor is represented by “texture_lookup”, which identifies a binary shader for the first pass. Further, input parameters for the binary shader of the first pass are represented by “x” and “y”, and an output parameter for the binary shader of the first pass is represented by “tmp”. The output parameter “tmp” represents an output value for the binary shader of the first pass. Further, in this embodiment, the output value for the binary shader of the first pass is a result for the first pass. Additionally, an initial graphics state for a graphics object is represented by “texture unit 1”, which specifies that a first texture unit will access a texture for the binary shader of the first pass.
  • For the second pass, a descriptor is represented by “cosine”, which represents a binary shader for the second pass. Further, an input parameter for the binary shader of the second pass is represented by “tmp”, which is the output parameter of the first pass. Accordingly, the input parameter “tmp” for the binary shader of the second pass represents the output value of the binary shader of the first pass. Additionally, a graphics state of the second pass is represented by “frame buffer”, which specifies that the result of the second pass will be stored in a frame buffer. In this way, the graphics state of the second pass specifies a change from the graphics state of the first pass. Further, the parameter “tmp” links the binary shader of the second pass to the binary shader of the first pass such that the result of the first pass is an input parameter for the binary shader of the second pass. The output parameter “output” represents an output value for the binary shader of the second pass. Further, in this embodiment, the output value for the binary shader of the second pass is a result for the second pass. TABLE 1 shader output = cosine (texture_lookup (x, y)) multi-pass shader first pass: tmp = texture_lookup (x, y) second pass: output = cosine (tmp) application binary interface first pass: descriptor = texture_lookup input parameter(s) = x, y output parameter(s) = tmp graphics state = texture unit 1 second pass: descriptor = cosine input parameter(s) = tmp output parameter(s) = output graphics state = frame buffer
  • FIG. 7 depicts a flow chart for a method 700 of generating the application binary interface 610 (FIG. 6), in accordance with one embodiment of the present invention. In step 705, the compiler 115 (FIG. 1) compiles the shader 505 (FIG. 5) to generate a first binary shader 605 (FIG. 6) and a first graphics state for a first pass of a multi-pass shader. In one embodiment, the compiler 115 compiles the application 500 (FIG. 5) together with the shader 505 to generate the first binary shader 605. It is to be appreciated that step 705 is optional in the present invention.
  • In step 710, the compiler 115 compiles the shader 505 to generate the next binary shader 605 and the next graphics state for the next pass of a multi-pass shader. In one embodiment, the compiler 115 compiles the application 500 together with the shader 505 to generate the binary shader 605 and the graphics state for this next pass. It is to be appreciated that step 710 is optional in the present invention.
  • In another embodiment, the compiler 115 performs steps 705 and 710 concurrently to generate the binary shader 605 and the graphics state for each pass of the multi-pass shader. In a further embodiment, the compiler 115 also generates the binary application 600 (FIG. 6).
  • In step 715, the compiler 115 determines whether the multi-pass shader includes additional passes. If the multi-pass shader includes additional passes, the method returns to step 710, otherwise the method proceeds to step 720. It is to be appreciated that step 715 is optional in the present invention.
  • In step 720, the compiler 115 generates a descriptor and one or more parameters for the first pass of the multi-pass shader. The descriptor of the first pass specifies the first binary shader. In one embodiment, the compiler 115 binds at least one parameter of the first pass to the first binary shader 605 at compile time. In another embodiment, the binary application 600 (FIG. 6) binds at least one parameter of the first pass to the first binary shader 605 at run time. In still another embodiment, the compiler 115 binds some of the parameters of the first pass to the first binary shader 605 at compile time and the binary application 600 binds some of the parameters of the first pass to the first binary shader 605 at run time.
  • In step 725, the compiler 115 generates a descriptor and one or more parameters for the next pass of the multi-pass shader. The descriptor of this pass specifies the binary shader of this pass. In one embodiment, the compiler 115 binds at least one parameter of this pass to the binary shader 605 of this pass at compile time. In another embodiment, the binary application 600 binds at least one parameter of this pass to the binary shader 605 at run time. In still another embodiment, the compiler 115 binds some of the parameters of this pass to the binary shader at compile time and the binary application 605 binds some of the parameters of this pass to the binary shader at run time.
  • In step 730, the compiler 115 determines whether the multi-pass shader includes additional passes. If the multi-pass shader includes additional passes, the method returns to step 725, otherwise the method ends. It is to be appreciated the application binary interface 610 comprises the parameter(s) generated for each pass of the multi-pass shader.
  • In one embodiment, the compiler 115 can perform steps 720-730 concurrently to generate the parameters(s) for each pass of the multi-pass shader. In another embodiment of the present invention, the compiler 115 can perform steps 705-730 concurrently to generate the binary shader 605, the graphics state, and the parameter(s) for each pass of the multi-pass shader. In a further embodiment, the compiler can also generate the binary application 600. In still another embodiment, the compiler 115 can perform steps 705 and 720 concurrently. In yet another embodiment, the compiler can perform steps 710 and 725 concurrently.
  • FIG. 8 depicts a flow chart for a method 800 of rendering a graphics object by using the application binary interface 610 (FIG. 6), in accordance with one embodiment of the present invention. In step 805, the binary application 600 (FIG. 6) configures a multi-pass shader. In one embodiment, the binary application 600 modifies at least one parameter of the application binary interface 610 at run time (i.e. during execution of the binary application 600) to configure the multi-pass shader. In another embodiment, the binary application 600 configures the multi-pass shader by selecting an application binary interface 610 among multiple application binary interfaces 610 based on one or more parameters at run time. It is to be appreciated that step 805 is optional in the present invention.
  • In step 810, the binary application 600 identifies the binary shader 605 (FIG. 6) and the graphics state for a first pass of a multi-pass shader based on the application binary interface 610. In one embodiment, the descriptor of the first pass specifies the binary shader 605 of the first pass. In this embodiment, the binary application 600 identifies the binary shader 605 of the first pass based on the descriptor of the first pass. In another embodiment, the descriptor specifies a plurality of binary shaders 605. In this embodiment, the binary application 600 selects the binary shader 605 of the first pass from the plurality of binary shaders 605 at run time based on one or more parameters for the binary shader 605 of the first pass in the application binary interface 610.
  • In step 815, the graphics processor 325 executes the first pass of the multi-pass shader by executing the first binary shader 605 based on the first graphics state to generate a result for the first pass. In one embodiment, the result for the first pass is a value of each pixel in the graphics object. In a further embodiment, the graphics processor 325 (FIG. 3) includes multiple texture units, each of which can access a texture. In this further embodiment, the graphics processor 325 executes the first binary shader on the multiple texture units in the graphics processor 325 to generate the value for each pixel based on the textures accessed by the texture units.
  • In step 820, the binary application 600 identifies the binary shader 605 and the graphics state for the next pass of the multi-pass shader based on the application binary interface 610. In one embodiment, the descriptor of this pass specifies the binary shader 605 of the pass. In this embodiment, the binary application 600 identifies the binary shader 605 of this pass based on the descriptor of this pass. In another embodiment, the descriptor specifies a plurality of binary shaders 605. In this embodiment, the binary application 600 selects the binary shader 605 of this pass from the plurality of binary shaders 605 at run time based on one or more parameters for the binary shader 605 of this pass in the application binary interface 610. In a further embodiment, some or all of the parameters for the binary shader 605 of this pass may be a result of a previous pass.
  • In step 825, the graphics processor 325 executes this next pass of the multi-pass shader by executing the binary shader 605 based on the graphics state to generate a result for this pass. In one embodiment, the result for this pass is a value of each pixel in the graphics object. In a further embodiment, the graphics processor 325 includes multiple texture units, each of which can access a texture. In this further embodiment, the graphics processor 325 executes the binary shader on the multiple texture units in the graphics processor 325 to generate the value for each pixel based on the textures accessed by the texture units.
  • In another embodiment, the graphics processor 325 generates the value of each pixel based on the value of the pixel generated in a previous pass. In this embodiment, the graphics state of this pass specifies the texture unit storing the intermediate color of each pixel generated in the previous pass. Consequently, the binary shader 605 of the current pass can access the value of the pixel generated in the previous pass to generate the value of the pixel for this pass. In a further embodiment, the value of the pixel generated for the last pass of the multi-pass shader is a color of the pixel. In another further embodiment, the graphics processor 325 stores the value of each pixel for each pass into the frame buffer 420 (FIG. 4) and then combines the values of each pixel to generate a color for the pixel in the frame buffer 420.
  • In step 830, the binary application 600 determines whether the multi-pass shader includes an additional pass based on the application binary interface 610. If the multi-pass shader includes an additional pass, the method returns to step 820, otherwise the method ends.
  • The embodiments discussed herein are illustrative of the present invention. As these embodiments of the present invention are described with reference to illustrations, various modifications or adaptations of the methods and/or specific structures described may become apparent to those skilled in the art. All such modifications, adaptations, or variations that rely upon the teachings of the present invention, and through which these teachings have advanced the art, are considered to be within the spirit and scope of the present invention. Hence, these descriptions and drawings should not be considered in a limiting sense, as it is understood that the present invention is in no way limited to only the embodiments illustrated.

Claims (37)

1. An application binary interface for a multi-pass shader comprising a plurality of passes, the application binary interface comprising:
a descriptor for each pass of the plurality of passes for specifying a binary shader of the pass;
at least one parameter for the binary shader of each pass; and
a graphics state of each pass.
2. The application binary interface of claim 1, wherein the plurality of passes are arranged in series, and the graphics state of a subsequent pass specifies a change from the graphics state of a previous pass.
3. The application binary interface of claim 1, wherein the plurality of passes comprises a first pass and a second pass, the at least one parameter for the binary shader of the first pass comprises an output parameter, and the at least one parameter for the binary shader of the second pass comprises an input parameter, the input parameter for the binary shader of the second pass being the output parameter for the binary shader of the first pass.
4. The application binary interface of claim 1, wherein the graphics state of a first pass of the plurality of passes is an initial graphics state for a graphics object.
5. The application binary interface of claim 4, wherein the graphics state of a second pass of the plurality of passes specifies a change from the graphics state of the first pass.
6. The application binary interface of claim 1, wherein the descriptor of each pass specifies the binary shader of the pass.
7. The application binary interface of claim 1, wherein the descriptor of each pass specifies a plurality of binary shaders, and the at least one parameter for the binary shader of the pass identifies the binary shader of the pass from the plurality of binary shaders.
8. The application binary interface of claim 7, wherein the at least one parameter for the binary shader of each pass is modifiable at run time to configure the multi-pass shader.
9. The application binary interface of claim 1, wherein the application binary interface is a binary file.
10. A system for generating an application binary interface for a multi-pass shader comprising a plurality of passess, the system comprising:
a memory system configured to store a computer program for rendering a graphics object, the memory system further configured to store a compiler; and
a computing processor configured to execute the compiler on the computer program to generate an application binary interface comprising a descriptor for each pass of the plurality of passes for specifying a binary shader of the pass, at least one parameter for the binary shader of each pass, and a graphics state of each pass.
11. The system of claim 10, wherein the computing processor is further configured to execute the compiler on the computer program to generate the binary shader of each pass.
12. The system of claim 10, wherein the plurality of passes are arranged in series, and the graphics state of a subsequent pass specifies a change from the graphics state of a previous pass.
13. The system of claim 10, wherein the plurality of passes comprises a first pass and a second pass, the at least one parameter for the binary shader of the first pass comprises an output parameter, and the at least one parameter for the binary shader of the second pass comprises an input parameter, the input parameter for the binary shader of the second pass being the output parameter for the binary shader of the first pass.
14. The system of claim 10, wherein the graphics state of a first pass of the plurality of passes is an initial graphics state for a graphics object.
15. The system of claim 14, wherein the graphics state of a second pass of the plurality of passes specifies a change from the graphics state of the first pass.
16. The system of claim 10, wherein the descriptor of each pass specifies the binary shader of the pass.
17. The system of claim 10, wherein the descriptor of each pass specifies a plurality of binary shaders, and the at least one parameter for the binary shader of the pass identifies the binary shader of the pass from the plurality of binary shaders.
18. The system of claim 17, wherein the computer processor is configured to modify the at least one parameter for the binary shader of each pass at run time to configure the multi-pass shader.
19. The system of claim 10, wherein the application binary interface is a binary file.
20. A method of rendering a graphics object, the method comprising:
identifying a binary shader of a first pass of a multi-pass shader based on an application binary interface;
identifying a graphics state of the first pass based on the application binary interface;
executing the binary shader of the first pass based on the graphics state of the first pass to generate a result for the first pass;
identifying a binary shader of a second pass of the multi-pass shader based on the application binary interface;
identifying a graphics state of the second pass based on the application binary interface; and
executing the binary shader of the second pass based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass.
21. The method of claim 20, wherein the result of the first pass comprises a first value of each pixel of a plurality of pixels of the graphics object, and the result of the second pass comprises a second value of each pixel of the plurality of pixels.
22. The method of claim 21, wherein the first value of each pixel in the plurality of pixels represents a color of the pixel.
23. The method of claim 21, wherein the second value of each pixel in the plurality of pixels represents a color of the pixel.
24. The method of claim 20, wherein the application binary interface comprises an output parameter for the binary shader of the first pass and an input parameter for the binary shader of the second pass, the output parameter for the binary shader of the first pass being the input parameter for the binary shader of the second pass.
25. The method of claim 24, wherein the output parameter for the binary shader of the first pass specifies the result of the first pass.
26. The method of claim 20, wherein the application binary interface comprises an output parameter for the binary shader of the second pass, the output parameter for the binary shader of the second pass specifying the result of the second pass.
27. The method of claim 20, wherein identifying the binary shader of the first pass of the multi-pass shader based on the application binary interface comprises selecting the binary shader of the first pass based on a descriptor of the first pass.
28. The method of claim 20, wherein identifying the binary shader of the first pass of the multi-pass shader based on the application binary interface comprises selecting the binary shader of the first pass based on a descriptor of the first pass and at least one parameter for the binary shader of the first pass.
29. A system for rendering a graphics object, the system comprising:
a computing processor configured to identify a binary shader of a first pass of a multi-pass shader, a graphics state of the first pass, a binary shader of a second pass of the multi-pass shader, and a graphics state of the second pass, based on an application binary interface; and
a graphics processor configured to execute the binary shader of the first pass based on the graphics state of the first pass to generate a result for the first pass, the graphics processor further configured to execute the binary shader of the second pass based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass.
30. The system of claim 29, wherein the graphics object comprises a plurality of pixels, the result of the first pass comprises a first value of each pixel in the plurality of pixels, and the result of the second pass comprises a second value of each pixel in the plurality of pixels.
31. The system of claim 30, wherein the first value of each pixel in the plurality of pixels represents a color of the pixel.
32. The system of claim 30, wherein the second value of each pixel in the plurality of pixels represents a color of the pixel.
33. The system of claim 29, wherein the application binary interface comprises an output parameter for the binary shader of the first pass and an input parameter for the binary shader of the second pass, the output parameter for the binary shader of the first pass being the input parameter for the binary shader of the second pass.
34. The system of claim 29, wherein the computing processor is further configured to select the binary shader of the first pass based on a descriptor of the first pass.
35. The system of claim 29, wherein the computing processor is further configured to select the binary shader of the first pass based on a descriptor of the first pass and at least one parameter for the binary shader of the first pass.
36. A computer program product comprising computer program code for performing a method of rendering a graphics object, the method comprising:
identifying a binary shader of a first pass of a multi-pass shader based on an application binary interface;
identifying a graphics state of the first pass based on the application binary interface;
executing the binary shader of the first pass based on the graphics state of the first pass to generate a result for the first pass;
identifying a binary shader of a second pass of the multi-pass shader based on the application binary interface;
identifying a graphics state of the second pass based on the application binary interface; and
executing the binary shader of the second pass based on the graphics state of the second pass and the result of the first pass to generate a result for the second pass.
37. The computer program product of claim 36, wherein the graphics state of the second pass specifies a change from the graphics state of the first pass.
US10/959,695 2004-10-06 2004-10-06 Application binary interface for multi-pass shaders Abandoned US20060071933A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/959,695 US20060071933A1 (en) 2004-10-06 2004-10-06 Application binary interface for multi-pass shaders

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/959,695 US20060071933A1 (en) 2004-10-06 2004-10-06 Application binary interface for multi-pass shaders
PCT/US2005/035947 WO2006041993A1 (en) 2004-10-06 2005-10-05 Application program interface for multi-pass shaders
US12/287,317 US8289325B2 (en) 2004-10-06 2008-10-07 Multi-pass shading

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/287,317 Continuation US8289325B2 (en) 2004-10-06 2008-10-07 Multi-pass shading

Publications (1)

Publication Number Publication Date
US20060071933A1 true US20060071933A1 (en) 2006-04-06

Family

ID=35616919

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/959,695 Abandoned US20060071933A1 (en) 2004-10-06 2004-10-06 Application binary interface for multi-pass shaders
US12/287,317 Active 2024-10-13 US8289325B2 (en) 2004-10-06 2008-10-07 Multi-pass shading

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/287,317 Active 2024-10-13 US8289325B2 (en) 2004-10-06 2008-10-07 Multi-pass shading

Country Status (2)

Country Link
US (2) US20060071933A1 (en)
WO (1) WO2006041993A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090040222A1 (en) * 2004-10-06 2009-02-12 Robin James Green Multi-pass shading
US20090225079A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Shader-based extensions for a declarative presentation framework
US7623132B1 (en) * 2004-12-20 2009-11-24 Nvidia Corporation Programmable shader having register forwarding for reduced register-file bandwidth consumption
US7861234B1 (en) * 2005-02-23 2010-12-28 Oracle America, Inc. System and method for binary translation to improve parameter passing
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US8204272B2 (en) 2006-05-04 2012-06-19 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8243089B2 (en) 2006-05-04 2012-08-14 Sony Computer Entertainment Inc. Implementing lighting control of a user environment
US8276129B1 (en) * 2007-08-13 2012-09-25 Nvidia Corporation Methods and systems for in-place shader debugging and performance tuning
US8284310B2 (en) 2005-06-22 2012-10-09 Sony Computer Entertainment America Llc Delay matching in audio/video systems
US8296738B1 (en) * 2007-08-13 2012-10-23 Nvidia Corporation Methods and systems for in-place shader debugging and performance tuning
US20120290560A1 (en) * 2011-05-13 2012-11-15 Kushal Das Mechanism for efficiently querying application binary interface/application programming interface-related information
US20130127858A1 (en) * 2009-05-29 2013-05-23 Luc Leroy Interception of Graphics API Calls for Optimization of Rendering
US20140240337A1 (en) * 2013-02-26 2014-08-28 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US20140240329A1 (en) * 2013-02-26 2014-08-28 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US20150379672A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd Dynamically optimized deferred rendering pipeline
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
JP2017526036A (en) * 2014-07-10 2017-09-07 インテル・コーポレーション Method and apparatus for updating a shader program based on a current state

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130124618A (en) * 2012-05-07 2013-11-15 삼성전자주식회사 Image processing apparatus and method
US10068370B2 (en) 2014-09-12 2018-09-04 Microsoft Technology Licensing, Llc Render-time linking of shaders
US10255651B2 (en) * 2015-04-15 2019-04-09 Channel One Holdings Inc. Methods and systems for generating shaders to emulate a fixed-function graphics pipeline
US9881351B2 (en) 2015-06-15 2018-01-30 Microsoft Technology Licensing, Llc Remote translation, aggregation and distribution of computer program resources in graphics processing unit emulation
US9786026B2 (en) 2015-06-15 2017-10-10 Microsoft Technology Licensing, Llc Asynchronous translation of computer program resources in graphics processing unit emulation
KR20180070314A (en) 2016-12-16 2018-06-26 삼성전자주식회사 Graphics processing apparatus and method for processing graphics pipeline thereof

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683466A (en) * 1984-12-14 1987-07-28 Honeywell Information Systems Inc. Multiple color generation on a display
US5253339A (en) * 1990-07-26 1993-10-12 Sun Microsystems, Inc. Method and apparatus for adaptive Phong shading
US5559950A (en) * 1994-02-02 1996-09-24 Video Lottery Technologies, Inc. Graphics processor enhancement unit
US5805782A (en) * 1993-07-09 1998-09-08 Silicon Graphics, Inc. Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US5808617A (en) * 1995-08-04 1998-09-15 Microsoft Corporation Method and system for depth complexity reduction in a graphics rendering system
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5870098A (en) * 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
US20020018063A1 (en) * 2000-05-31 2002-02-14 Donovan Walter E. System, method and article of manufacture for shadow mapping
US6421057B1 (en) * 1999-07-15 2002-07-16 Terarecon, Inc. Configurable volume rendering pipeline
US20020140703A1 (en) * 2001-03-30 2002-10-03 Baker Nicholas R. Applying multiple texture maps to objects in three-dimensional imaging processes
US20030009748A1 (en) * 2001-06-08 2003-01-09 Glanville Robert Steven Software emulator for optimizing application-programmable vertex processing
US6578197B1 (en) * 1998-04-08 2003-06-10 Silicon Graphics, Inc. System and method for high-speed execution of graphics application programs including shading language instructions
US20030117391A1 (en) * 2001-12-21 2003-06-26 Silicon Graphics, Inc. System, method, and computer program product for real-time shading of computer generated images
US20030179220A1 (en) * 2002-03-20 2003-09-25 Nvidia Corporation System, method and computer program product for generating a shader program
US6646640B2 (en) * 2001-02-06 2003-11-11 Sony Computer Entertainment Inc. System and method for creating real-time shadows of complex transparent objects
US6646639B1 (en) * 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US20040051716A1 (en) * 2002-08-30 2004-03-18 Benoit Sevigny Image processing
US6717599B1 (en) * 2000-06-29 2004-04-06 Microsoft Corporation Method, system, and computer program product for implementing derivative operators with graphics hardware
US20040130550A1 (en) * 2001-10-18 2004-07-08 Microsoft Corporation Multiple-level graphics processing with animation interval generation
US20040130552A1 (en) * 1998-08-20 2004-07-08 Duluk Jerome F. Deferred shading graphics pipeline processor having advanced features
US20050078116A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Systems and methods for robust sampling for real-time relighting of objects in natural lighting environments
US20050243094A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US7006101B1 (en) * 2001-06-08 2006-02-28 Nvidia Corporation Graphics API with branching capabilities

Family Cites Families (345)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB958588A (en) 1960-12-08 1964-05-21 Gen Electric Co Ltd Improvements in or relating to colour television receivers
US3147341A (en) 1961-04-24 1964-09-01 Gen Electric Automatic brightness-contrast control using photoresistive element to control brightness and agc voltages in response to ambinent light
US3943277A (en) 1969-02-20 1976-03-09 The United States Of America As Represented By The Secretary Of The Navy Digital memory area correlation tracker
US3717345A (en) 1971-03-15 1973-02-20 Prayfel Inc Computerized race game
NL7509871A (en) 1975-08-20 1977-02-22 Philips Nv Color chroma key signal generator.
US4090216A (en) 1976-05-26 1978-05-16 Gte Sylvania Incorporated Ambient light contrast and color control circuit
US4068847A (en) 1976-06-23 1978-01-17 The Magnavox Company Chroma and luminance signal generator for video games
US4116444A (en) 1976-07-16 1978-09-26 Atari, Inc. Method for generating a plurality of moving objects on a video display screen
US4133004A (en) 1977-11-02 1979-01-02 Hughes Aircraft Company Video correlation tracker
US4448200A (en) 1978-03-27 1984-05-15 University Of Southern California System and method for dynamic background subtraction
JPS5513582A (en) 1978-07-13 1980-01-30 Sanyo Electric Co Ltd Color television receiver
US4241341A (en) 1979-03-05 1980-12-23 Thorson Mark R Apparatus for scan conversion
US4321635A (en) 1979-04-20 1982-03-23 Teac Corporation Apparatus for selective retrieval of information streams or items
US4757525A (en) 1982-09-29 1988-07-12 Vmx, Inc. Electronic audio communications system with voice command features
US4355334A (en) 1981-05-29 1982-10-19 Zenith Radio Corporation Dimmer and dimmer override control for a display device
JPH0458231B2 (en) 1981-09-12 1992-09-16 Sony Corp
JPS58195957A (en) 1982-05-11 1983-11-15 Casio Comput Co Ltd Program starting system by voice
US4514727A (en) 1982-06-28 1985-04-30 Trw Inc. Automatic brightness control apparatus
FI68131C (en) 1983-06-30 1985-07-10 Valtion Teknillinen Foerfarande and the arrangement of the exterior Foer gestaltande Tille arbetsmaskin with several Leder with a laserindikator
IL69327A (en) 1983-07-26 1986-11-30 Elscint Ltd Automatic misregistration correction
US4675562A (en) 1983-08-01 1987-06-23 Fairchild Semiconductor Corporation Method and apparatus for dynamically controlling the timing of signals in automatic test systems
IL72685A (en) 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
US4646075A (en) 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4649504A (en) 1984-05-22 1987-03-10 Cae Electronics, Ltd. Optical position and orientation measurement techniques
US5555532A (en) 1984-05-23 1996-09-10 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for target imaging with sidelooking sonar
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
JPH0746391B2 (en) 1984-09-14 1995-05-17 株式会社日立製作所 Graphic SCIEZ - Deingu equipment
US4672564A (en) 1984-11-15 1987-06-09 Honeywell Inc. Method and apparatus for determining location and orientation of objects
US4737921A (en) 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system
EP0229849B1 (en) 1985-07-05 1996-03-06 Dai Nippon Insatsu Kabushiki Kaisha Method and apparatus for designing three-dimensional container
JPH0814854B2 (en) 1985-10-11 1996-02-14 株式会社日立製作所 Three-dimensional graphics display
IL77610A (en) 1986-01-15 1994-01-25 Technion Res & Dev Foundation Single camera three-dimensional head position sensing system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
JP2603947B2 (en) 1986-09-26 1997-04-23 オリンパス光学工業株式会社 Corresponding area detector between primary image
US4807158A (en) 1986-09-30 1989-02-21 Daleco/Ivex Partners, Ltd. Method and apparatus for sampling images to simulate movement within a multidimensional space
US4905147A (en) 1986-10-15 1990-02-27 Logg George E Collision detection system for video system
US4905168A (en) 1986-10-15 1990-02-27 Atari Games Corporation Object processing for video system using slips and linked list
JPS63177193A (en) 1987-01-19 1988-07-21 Hitachi Ltd Display device
US4864515A (en) 1987-03-30 1989-09-05 Honeywell Inc. Electronic sensing screen for measuring projectile parameters
FR2613572B1 (en) 1987-04-03 1993-01-22 Thomson Csf Visualization System of light data, readability has IMPROVED
US5014327A (en) 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US4980823A (en) 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
US4860197A (en) 1987-07-31 1989-08-22 Prime Computer, Inc. Branch cache system with instruction boundary determination independent of parcel boundary
US5162781A (en) 1987-10-02 1992-11-10 Automated Decisions, Inc. Orientational mouse computer input system
US5363120A (en) 1987-10-14 1994-11-08 Wang Laboratories, Inc. Computer input device using orientation sensor
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4942538A (en) 1988-01-05 1990-07-17 Spar Aerospace Limited Telerobotic tracker
US5369737A (en) 1988-03-21 1994-11-29 Digital Equipment Corporation Normalization of vectors associated with a display pixels of computer generated images
GB8808608D0 (en) 1988-04-12 1988-05-11 Boc Group Plc Dry pump with booster
US5448687A (en) 1988-09-13 1995-09-05 Computer Design, Inc. Computer-assisted design system for flattening a three-dimensional surface and for wrapping a flat shape to a three-dimensional surface
US4933864A (en) 1988-10-04 1990-06-12 Transitions Research Corporation Mobile robot navigation employing ceiling light fixtures
US5045843B1 (en) 1988-12-06 1996-07-16 Selectech Ltd Optical pointing device
US5222203A (en) 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
US5034986A (en) 1989-03-01 1991-07-23 Siemens Aktiengesellschaft Method for detecting and tracking moving objects in a digital image sequence having a stationary background
US4969036A (en) 1989-03-31 1990-11-06 Bir Bhanu System for computing the self-motion of moving images devices
AU631661B2 (en) 1989-06-20 1992-12-03 Fujitsu Limited Method for measuring position and posture of object
US5367615A (en) 1989-07-10 1994-11-22 General Electric Company Spatial augmentation of vertices and continuous level of detail transition for smoothly varying terrain polygon density
FR2652972B1 (en) 1989-10-06 1996-11-29 Thomson Video Equip Method and overlay device self-adaptive color video images.
GB9001468D0 (en) 1990-01-23 1990-03-21 Sarnoff David Res Center Computing multiple motions within an image region
EP0441586B1 (en) 1990-02-06 1996-04-24 Canon Kabushiki Kaisha Image processing apparatus
US5668646A (en) 1990-02-06 1997-09-16 Canon Kabushiki Kaisha Apparatus and method for decoding differently encoded multi-level and binary image data, the later corresponding to a color in the original image
US5064291A (en) 1990-04-03 1991-11-12 Hughes Aircraft Company Method and apparatus for inspection of solder joints utilizing shape determination from shading
US5128671A (en) 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
DE69130549D1 (en) 1990-06-11 1999-01-14 Hitachi Ltd Apparatus for generating an object movement path
US5265888A (en) 1990-06-22 1993-11-30 Nintendo Co., Ltd. Game apparatus and memory cartridge used therefor
US5354202A (en) 1990-08-01 1994-10-11 Atari Games Corporation System and method for driver training with multiple driver competition
US5269687A (en) 1990-08-01 1993-12-14 Atari Games Corporation System and method for recursive driver training
US5208763A (en) 1990-09-14 1993-05-04 New York University Method and apparatus for determining position and orientation of mechanical objects
US5631697A (en) 1991-11-27 1997-05-20 Hitachi, Ltd. Video camera capable of automatic target tracking
US5274560A (en) 1990-12-03 1993-12-28 Audio Navigation Systems, Inc. Sensor free vehicle navigation system utilizing a voice input/output interface for routing a driver from his source point to his destination point
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5128794A (en) 1990-12-31 1992-07-07 Honeywell Inc. Scanning laser helmet mounted sight
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5548667A (en) 1991-05-24 1996-08-20 Sony Corporation Image processing system and method thereof in which three dimensional shape is reproduced from two dimensional image data
US5227985A (en) 1991-08-19 1993-07-13 University Of Maryland Computer vision system for position monitoring in three dimensions using non-coplanar light sources attached to a monitored object
US5305389A (en) 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5212888A (en) 1991-09-16 1993-05-25 Calcomp Inc. Dual function sensor for a pen plotter
US5537638A (en) 1991-10-25 1996-07-16 Hitachi, Ltd. Method and system for image mapping
US5335557A (en) 1991-11-26 1994-08-09 Taizo Yasutake Touch sensitive input control device
US5734384A (en) 1991-11-29 1998-03-31 Picker International, Inc. Cross-referenced sectioning and reprojection of diagnostic image volumes
US5230623A (en) 1991-12-10 1993-07-27 Radionics, Inc. Operating pointer with interactive computergraphics
US5680487A (en) 1991-12-23 1997-10-21 Texas Instruments Incorporated System and method for determining optical flow
US5590248A (en) 1992-01-02 1996-12-31 General Electric Company Method for reducing the complexity of a polygonal mesh
US5953485A (en) 1992-02-07 1999-09-14 Abecassis; Max Method and system for maintaining audio during video control
WO1993016440A1 (en) 1992-02-18 1993-08-19 Evans & Sutherland Computer Corporation Image texturing system having theme cells
US5577179A (en) 1992-02-25 1996-11-19 Imageware Software, Inc. Image editing system
US5307137A (en) 1992-03-16 1994-04-26 Mark F. Jones Terrain imaging apparatus and method
JP3107452B2 (en) 1992-04-28 2000-11-06 株式会社日立製作所 Texture mapping method and apparatus
US5450504A (en) 1992-05-19 1995-09-12 Calia; James Method for finding a most likely matching of a target facial image in a data base of facial images
US5366376A (en) 1992-05-22 1994-11-22 Atari Games Corporation Driver training system and method with performance data feedback
JP3391405B2 (en) 1992-05-29 2003-03-31 富士電機株式会社 Object identification method within the camera image
US5473736A (en) 1992-06-08 1995-12-05 Chroma Graphics Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects
IL102289A (en) 1992-06-24 1997-08-14 R Technologies Ltd B V Method and system for processing moving images
DE69327751D1 (en) 1992-07-21 2000-03-09 Pioneer Electronic Corp Turntables and method for reproducing information
DE69331031D1 (en) 1992-07-27 2001-12-06 Matsushita Electric Ind Co Ltd An apparatus for parallel image generation
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
JP3244798B2 (en) 1992-09-08 2002-01-07 株式会社東芝 Moving image processing apparatus
US5982352A (en) 1992-09-18 1999-11-09 Pryor; Timothy R. Method for providing human input to a computer
JP2682559B2 (en) 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション Apparatus and method, and computer graphics display system for displaying an image of an object on a display device
GB2271259A (en) 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
US5469193A (en) 1992-10-05 1995-11-21 Prelude Technology Corp. Cordless pointing apparatus
DE69321558T2 (en) 1992-11-17 1999-04-22 Matsushita Electric Ind Co Ltd Video and Audiosignalmultiplex- and -trennvorrichtungen
US5387943A (en) 1992-12-21 1995-02-07 Tektronix, Inc. Semiautomatic lip sync recovery system
US5890122A (en) 1993-02-08 1999-03-30 Microsoft Corporation Voice-controlled computer simulateously displaying application menu and list of available commands
US5660547A (en) 1993-02-17 1997-08-26 Atari Games Corporation Scenario development system for vehicle simulators
JP3679426B2 (en) 1993-03-15 2005-08-03 マサチューセッツ・インスティチュート・オブ・テクノロジーMassachusetts Institute Of Technology A system that encodes image data into multiple layers, each representing a coherent region of motion, and motion parameters associated with the layers.
DE69424716T2 (en) 1993-04-01 2001-02-08 Sun Microsystems Inc Method and apparatus for adaptive control of the texture map
GB9308952D0 (en) 1993-04-30 1993-06-16 Philips Electronics Uk Ltd Tracking objects in video sequences
US5297061A (en) 1993-05-19 1994-03-22 University Of Maryland Three dimensional pointing device monitored by computer vision
DE69433074D1 (en) 1993-07-02 2003-10-02 Siemens Corp Res Inc Background recovery in monocular image processing
US6028593A (en) 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US5550960A (en) 1993-08-02 1996-08-27 Sun Microsystems, Inc. Method and apparatus for performing dynamic texture mapping for complex surfaces
US5598514A (en) 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
JP2916076B2 (en) 1993-08-26 1999-07-05 シャープ株式会社 Image display device
DE69419291D1 (en) 1993-09-03 1999-08-05 Canon Kk Shape measurement apparatus
JP2552427B2 (en) 1993-12-28 1996-11-13 コナミ株式会社 TV game system
FR2714502A1 (en) 1993-12-29 1995-06-30 Philips Laboratoire Electroniq An image processing method and apparatus for constructing from a source image a target image with perspective change.
US5699497A (en) 1994-02-17 1997-12-16 Evans & Sutherland Computer Corporation Rendering global macro texture, for producing a dynamic image, as on computer generated terrain, seen from a moving viewpoint
US5611000A (en) 1994-02-22 1997-03-11 Digital Equipment Corporation Spline-based image registration
EP0692717B1 (en) 1994-07-15 2000-03-15 Dade Chemistry Systems Inc. Analysis instrument
CA2198611A1 (en) 1994-09-06 1996-03-14 The Research Foundation Of State University Of New York Apparatus and method for real-time volume visualization
US5526041A (en) 1994-09-07 1996-06-11 Sensormatic Electronics Corporation Rail-based closed circuit T.V. surveillance system with automatic target acquisition
US5920842A (en) 1994-10-12 1999-07-06 Pixel Instruments Signal synchronization
JP2642070B2 (en) 1994-11-07 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション Quadrilateral mesh generation method and system of
US5649032A (en) 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
EP0715453B1 (en) 1994-11-28 2014-03-26 Canon Kabushiki Kaisha Camera controller
JP3578498B2 (en) 1994-12-02 2004-10-20 株式会社ソニー・コンピュータエンタテインメント Image information processing device
GB2295936B (en) 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
GB9501832D0 (en) 1995-01-31 1995-03-22 Videologic Ltd Texturing and shading of 3-d images
US5818553A (en) 1995-04-10 1998-10-06 Norand Corporation Contrast control for a backlit LCD
IL113572A (en) 1995-05-01 1999-03-12 Metalink Ltd Symbol decoder
US5757360A (en) 1995-05-03 1998-05-26 Mitsubishi Electric Information Technology Center America, Inc. Hand held computer control device
US5672820A (en) 1995-05-16 1997-09-30 Boeing North American, Inc. Object location identification system for providing location data of an object being pointed at by a pointing device
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
US5572261A (en) 1995-06-07 1996-11-05 Cooper; J. Carl Automatic audio to video timing measurement device and method
US5617407A (en) 1995-06-21 1997-04-01 Bareis; Monica M. Optical disk having speech recognition templates for information access
US5805745A (en) 1995-06-26 1998-09-08 Lucent Technologies Inc. Method for locating a subject's lips in a facial image
US6002738A (en) 1995-07-07 1999-12-14 Silicon Graphics, Inc. System and method of performing tomographic reconstruction and volume rendering using texture mapping
US5704024A (en) 1995-07-20 1997-12-30 Silicon Graphics, Inc. Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map
JP3203160B2 (en) 1995-08-09 2001-08-27 三菱電機株式会社 Volume rendering apparatus and method
JPH11513483A (en) 1995-09-21 1999-11-16 オムニプラナー,インコーポレーテッド Location and method and apparatus for determining the orientation
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
US5818424A (en) 1995-10-19 1998-10-06 International Business Machines Corporation Rod shaped device and data acquisition apparatus for determining the position and orientation of an object in space
KR100261076B1 (en) 1995-11-09 2000-07-01 윤종용 Rendering method and apparatus of performing bump mapping and phong shading at the same time
FR2741769B1 (en) 1995-11-23 1997-12-19 Thomson Broadcast Systems Signal processing method constitutes a subject moving against a colored background and device implementing such process
FR2741770B1 (en) 1995-11-23 1998-01-02 Thomson Broadcast Systems Method of calculating a key cut from a subject moving against a colored background and device implementing such process
US5963209A (en) 1996-01-11 1999-10-05 Microsoft Corporation Encoding and progressive transmission of progressive meshes
US5574836A (en) 1996-01-22 1996-11-12 Broemmelsiek; Raymond M. Interactive display apparatus and method with viewer position compensation
JP3668547B2 (en) 1996-01-29 2005-07-06 ヤマハ株式会社 Karaoke equipment
AU2123297A (en) 1996-02-12 1997-08-28 Golf Age Technologies Golf driving range distancing apparatus and methods
US6049619A (en) 1996-02-12 2000-04-11 Sarnoff Corporation Method and apparatus for detecting moving objects in two- and three-dimensional scenes
US6009188A (en) 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
US5982390A (en) 1996-03-25 1999-11-09 Stan Stoneking Controlling personality manifestations by objects in a computer-assisted animation environment
US5764803A (en) 1996-04-03 1998-06-09 Lucent Technologies Inc. Motion-adaptive modelling of scene content for very low bit rate model-assisted coding of video sequences
US5889505A (en) 1996-04-04 1999-03-30 Yale University Vision-based six-degree-of-freedom computer input device
US6348921B1 (en) 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
AU2663597A (en) 1996-04-12 1997-11-07 Multigen, Inc. Methods and apparatus for rendering three-dimensional images
US5894308A (en) 1996-04-30 1999-04-13 Silicon Graphics, Inc. Interactively reducing polygon count in three-dimensional graphic objects
GB9609197D0 (en) 1996-05-02 1996-07-03 Philips Electronics Nv Process control with evaluation of stored referential expressions
US5805170A (en) 1996-05-07 1998-09-08 Microsoft Corporation Systems and methods for wrapping a closed polygon around an object
US5769718A (en) 1996-05-15 1998-06-23 Rieder; William R. Video game apparatus and medium readable by a computer stored with video game program
US6034693A (en) 1996-05-28 2000-03-07 Namco Ltd. Image synthesizing apparatus, image synthesizing method and information storage medium
JP3664336B2 (en) 1996-06-25 2005-06-22 株式会社日立メディコ Method and apparatus for setting viewpoint position and gaze direction in 3D image construction method
WO1998002223A1 (en) 1996-07-11 1998-01-22 Sega Enterprises, Ltd. Voice recognizer, voice recognizing method and game machine using them
GB9616184D0 (en) 1996-08-01 1996-09-11 Philips Electronics Nv Virtual environment navigation
US5933150A (en) 1996-08-06 1999-08-03 Interval Research Corporation System for image manipulation and animation using embedded constraint graphics
US5781194A (en) 1996-08-29 1998-07-14 Animatek International, Inc. Real-time projection of voxel-based object
JP3358169B2 (en) 1996-08-30 2002-12-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Mirror surface rendering method and apparatus
JP3387750B2 (en) 1996-09-02 2003-03-17 株式会社リコー Shading processing unit
US5786801A (en) 1996-09-06 1998-07-28 Sony Corporation Back light control apparatus and method for a flat display system
US5854632A (en) 1996-10-15 1998-12-29 Real 3D Apparatus and method for simulating specular reflection in a computer graphics/imaging system
US5886702A (en) 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US5812136A (en) 1996-10-30 1998-09-22 Microsoft Corporation System and method for fast rendering of a three dimensional graphical object
US5935198A (en) 1996-11-22 1999-08-10 S3 Incorporated Multiplier with selectable booth encoders for performing 3D graphics interpolations with two multiplies in a single pass through the multiplier
US5825308A (en) 1996-11-26 1998-10-20 Immersion Human Interface Corporation Force feedback interface having isotonic and isometric functionality
US5899810A (en) 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
JPH10211358A (en) 1997-01-28 1998-08-11 Sega Enterp Ltd Game apparatus
US6121953A (en) 1997-02-06 2000-09-19 Modern Cartoons, Ltd. Virtual reality system for sensing facial movements
CA2252871C (en) 1997-02-20 2008-04-29 Sony Corporation Video signal processing device and method, image synthesizing device, and editing device
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US6803964B1 (en) 1997-03-21 2004-10-12 International Business Machines Corporation Method and apparatus for processing digital data
US6137492A (en) 1997-04-03 2000-10-24 Microsoft Corporation Method and system for adaptive refinement of progressive meshes
JP4244391B2 (en) 1997-04-04 2009-03-25 ソニー株式会社 Image conversion apparatus and image conversion method
US6058397A (en) 1997-04-08 2000-05-02 Mitsubishi Electric Information Technology Center America, Inc. 3D virtual environment creation management and delivery system
US5864742A (en) 1997-04-11 1999-01-26 Eastman Kodak Company Copy restrictive system using microdots to restrict copying of color-reversal documents
US5917937A (en) 1997-04-15 1999-06-29 Microsoft Corporation Method for performing stereo matching to recover depths, colors and opacities of surface elements
US6130673A (en) 1997-04-18 2000-10-10 Silicon Graphics, Inc. Editing a surface
US6175367B1 (en) 1997-04-23 2001-01-16 Siligon Graphics, Inc. Method and system for real time illumination of computer generated images
US5912830A (en) 1997-04-30 1999-06-15 Hewlett-Packard Co. System and method for conditionally calculating exponential values in a geometry accelerator
CA2250021C (en) 1997-05-19 2007-02-06 Matsushita Electric Industrial Co., Ltd. Graphic display apparatus, synchronous reproduction method, and av synchronous reproduction apparatus
US5817494A (en) 1997-05-21 1998-10-06 Incyte Pharmaceuticals, Inc. Ubiquitin conjugation proteins
GB2326781B (en) 1997-05-30 2001-10-10 British Broadcasting Corp Video and audio signal processing
NL1006177C2 (en) 1997-05-30 1998-12-07 Delaval Stork V O F Rotor shaft for a rotary machine and rotating machine provided with such a rotor shaft.
US6222555B1 (en) 1997-06-18 2001-04-24 Christofferson Enterprises, Llc Method for automatically smoothing object level of detail transitions for regular objects in a computer graphics display system
US6072504A (en) 1997-06-20 2000-06-06 Lucent Technologies Inc. Method and apparatus for tracking, storing, and synthesizing an animated version of object motion
US6208347B1 (en) 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6226006B1 (en) 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
US5990901A (en) 1997-06-27 1999-11-23 Microsoft Corporation Model based image editing and correction
US6049636A (en) 1997-06-27 2000-04-11 Microsoft Corporation Determining a rectangular box encompassing a digital picture within a digital image
US5914724A (en) 1997-06-30 1999-06-22 Sun Microsystems, Inc Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values
JP3372832B2 (en) 1997-07-25 2003-02-04 コナミ株式会社 Game device, game image processing method, and computer-readable recording medium containing game image processing program
US6009190A (en) 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6044181A (en) 1997-08-01 2000-03-28 Microsoft Corporation Focal length estimation method and apparatus for construction of panoramic mosaic images
US6018349A (en) 1997-08-01 2000-01-25 Microsoft Corporation Patch-based alignment method and apparatus for construction of image mosaics
US5987164A (en) 1997-08-01 1999-11-16 Microsoft Corporation Block adjustment method and apparatus for construction of image mosaics
US5986668A (en) 1997-08-01 1999-11-16 Microsoft Corporation Deghosting method and apparatus for construction of image mosaics
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
US6496189B1 (en) 1997-09-29 2002-12-17 Skyline Software Systems Ltd. Remote landscape display and pilot training
US6157386A (en) 1997-10-10 2000-12-05 Cirrus Logic, Inc MIP map blending in a graphics processor
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6031934A (en) 1997-10-15 2000-02-29 Electric Planet, Inc. Computer vision system for subject characterization
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6037947A (en) 1997-10-16 2000-03-14 Sun Microsystems, Inc. Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
US5905894A (en) 1997-10-29 1999-05-18 Microsoft Corporation Meta-programming methods and apparatus
JP3890781B2 (en) 1997-10-30 2007-03-07 株式会社セガ Computer-readable storage medium, game device, and game image display method
US6320580B1 (en) 1997-11-07 2001-11-20 Sega Enterprises, Ltd. Image processing apparatus
JP3119608B2 (en) 1997-11-19 2000-12-25 コナミ株式会社 Competitive video game device, competition video game recording medium character movement control method, and a character movement control program is recorded in the
JPH11151376A (en) 1997-11-20 1999-06-08 Nintendo Co Ltd Video game device and its storage medium
US6162123A (en) 1997-11-25 2000-12-19 Woolston; Thomas G. Interactive electronic sword game
US6342885B1 (en) 1998-11-12 2002-01-29 Tera Recon Inc. Method and apparatus for illuminating volume data in a rendering pipeline
US6010403A (en) 1997-12-05 2000-01-04 Lbe Technologies, Inc. System and method for displaying an interactive event
DE69712078T2 (en) 1997-12-19 2002-12-12 Esab Ab Goeteborg Gothenburg welding device
US6356288B1 (en) 1997-12-22 2002-03-12 U.S. Philips Corporation Diversion agent uses cinematographic techniques to mask latency
JPH11203501A (en) 1998-01-14 1999-07-30 Sega Enterp Ltd Picture processor and picture processing method
US6172354B1 (en) 1998-01-28 2001-01-09 Microsoft Corporation Operator input device
US6014144A (en) 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6577312B2 (en) 1998-02-17 2003-06-10 Sun Microsystems, Inc. Graphics system configured to filter samples using a variable support filter
US6850236B2 (en) 1998-02-17 2005-02-01 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter in response to user input and/or sensor input
US6275187B1 (en) 1998-03-03 2001-08-14 General Electric Company System and method for directing an adaptive antenna array
US6181988B1 (en) 1998-04-07 2001-01-30 Raytheon Company Guidance system having a body fixed seeker with an adjustable look angle
US6100898A (en) 1998-04-08 2000-08-08 Webtv Networks, Inc. System and method of selecting level of detail in texture mapping
US6313841B1 (en) 1998-04-13 2001-11-06 Terarecon, Inc. Parallel volume rendering system with a resampling module for parallel and perspective projections
JP3829014B2 (en) 1998-06-03 2006-10-04 株式会社コナミデジタルエンタテインメント Video game equipment
US6573890B1 (en) 1998-06-08 2003-06-03 Microsoft Corporation Compression of animated geometry using geometric transform coding
US6141041A (en) 1998-06-22 2000-10-31 Lucent Technologies Inc. Method and apparatus for determination and visualization of player field coverage in a sporting event
JP2000090289A (en) 1998-07-13 2000-03-31 Sony Corp Device and method for processing image and medium
US6563499B1 (en) 1998-07-20 2003-05-13 Geometrix, Inc. Method and apparatus for generating a 3D region from a surrounding imagery
GB9817834D0 (en) 1998-08-14 1998-10-14 British Telecomm Predicting avatar movement in a distributed virtual environment
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US7251315B1 (en) 1998-09-21 2007-07-31 Microsoft Corporation Speech processing for telephony API
TW495710B (en) 1998-10-15 2002-07-21 Primax Electronics Ltd Voice control module for control of game controller
JP2000137828A (en) 1998-10-30 2000-05-16 Fujitsu Ltd Shading arithmetic unit and image processor using the arithmetic unit
GB2343598B (en) 1998-11-06 2003-03-19 Imagination Tech Ltd Image processing apparatus
US6396490B1 (en) 1998-12-04 2002-05-28 Intel Corporation Efficient representation of connectivity information in progressive mesh update record
JP3748172B2 (en) 1998-12-09 2006-02-22 富士通株式会社 Image processing device
JP2000181676A (en) 1998-12-11 2000-06-30 Nintendo Co Ltd Image processor
US6738059B1 (en) 1998-12-18 2004-05-18 Kabushiki Kaisha Sega Enterprises Apparatus and methods for image processing using mixed display objects
US6414960B1 (en) 1998-12-29 2002-07-02 International Business Machines Corp. Apparatus and method of in-service audio/video synchronization testing
US6356263B2 (en) 1999-01-27 2002-03-12 Viewpoint Corporation Adaptive subdivision of mesh models
JP2000218036A (en) 1999-01-28 2000-08-08 Square Co Ltd Game device, game control method and recording medium therefor
JP2000229172A (en) 1999-02-10 2000-08-22 Konami Co Ltd Game system and computer readable storage medium on which game program is recorded
JP3972230B2 (en) 1999-02-15 2007-09-05 株式会社セガ Game device, game device control method, and recording medium
JP2000237453A (en) 1999-02-16 2000-09-05 Taito Corp Problem solution type vehicle game device
JP2000311251A (en) 1999-02-26 2000-11-07 Toshiba Corp Device and method for generating animation and storage medium
US6313842B1 (en) 1999-03-03 2001-11-06 Discreet Logic Inc. Generating image data
DE19917660A1 (en) 1999-04-19 2000-11-02 Deutsch Zentr Luft & Raumfahrt Method and input means for controlling the position of a graphically displayed in a virtual reality object
US6226007B1 (en) 1999-05-21 2001-05-01 Sun Microsystems, Inc. Method and apparatus for modeling specular reflection
US6917692B1 (en) 1999-05-25 2005-07-12 Thomson Licensing S.A. Kalman tracking of color objects
JP3431535B2 (en) 1999-05-26 2003-07-28 株式会社ナムコ Game system and information storage medium
US6489955B1 (en) 1999-06-07 2002-12-03 Intel Corporation Ray intersection reduction using directionally classified target lists
US6717579B1 (en) 1999-06-10 2004-04-06 Dassault Systemes Reflection line control
US6504538B1 (en) 1999-07-01 2003-01-07 Microsoft Corporation Method and system for generating light values for a set of vertices
US6488505B1 (en) 1999-07-15 2002-12-03 Midway Games West Inc. System and method of vehicle competition with enhanced ghosting features
JP2001029649A (en) 1999-07-21 2001-02-06 Taito Corp Game machine executing speech visual display by speech recognition
US6417836B1 (en) 1999-08-02 2002-07-09 Lucent Technologies Inc. Computer input device having six degrees of freedom for controlling movement of a three-dimensional object
JP2001086486A (en) 1999-09-14 2001-03-30 Matsushita Electric Ind Co Ltd Monitor camera system and display method for monitor camera
JP2001079263A (en) 1999-09-16 2001-03-27 Sega Corp Game device, data processing method, and information recording medium
US6554707B1 (en) 1999-09-24 2003-04-29 Nokia Corporation Interactive voice, wireless game system using predictive command input
JP3270928B2 (en) 1999-09-30 2002-04-02 コナミ株式会社 Field map generation method, a video game system, and recording medium
WO2001029768A2 (en) 1999-10-18 2001-04-26 S3 Incorporated Multi-stage fixed cycle pipe-lined lighting equation evaluator
US6273814B1 (en) 1999-10-25 2001-08-14 Square Co., Ltd. Game apparatus and method for controlling timing for executive action by game character
US6798411B1 (en) 1999-10-29 2004-09-28 Intel Corporation Image processing
US6571208B1 (en) 1999-11-29 2003-05-27 Matsushita Electric Industrial Co., Ltd. Context-dependent acoustic models for medium and large vocabulary speech recognition with eigenvoice training
US6686924B1 (en) 2000-02-02 2004-02-03 Ati International, Srl Method and apparatus for parallel processing of geometric aspects of video graphics data
US6664955B1 (en) 2000-03-15 2003-12-16 Sun Microsystems, Inc. Graphics system configured to interpolate pixel values
US6426755B1 (en) 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
US6594388B1 (en) 2000-05-25 2003-07-15 Eastman Kodak Company Color image reproduction of scenes with preferential color mapping and scene-dependent tone scaling
US6864895B1 (en) 2000-05-30 2005-03-08 Hewlett-Packard Development Company, L.P. Pseudo-linear frame buffer mapping system and method
US6795068B1 (en) 2000-07-21 2004-09-21 Sony Computer Entertainment Inc. Prop input device and method for mapping an object from a two-dimensional camera image to a three-dimensional space for controlling action in a game program
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6316974B1 (en) 2000-08-26 2001-11-13 Rgb Systems, Inc. Method and apparatus for vertically locking input and output signals
US6744442B1 (en) 2000-08-29 2004-06-01 Harris Corporation Texture mapping system used for creating three-dimensional urban models
KR20000072753A (en) 2000-09-25 2000-12-05 오재덕 An intelligent toy with Wireless Local Communications.
GB2367471B (en) 2000-09-29 2002-08-14 Clearspeed Technology Ltd Graphics system
US6853382B1 (en) 2000-10-13 2005-02-08 Nvidia Corporation Controller for a memory system having multiple partitions
US6765573B2 (en) 2000-10-26 2004-07-20 Square Enix Co., Ltd. Surface shading using stored texture map based on bidirectional reflectance distribution function
JP2002222436A (en) 2000-11-22 2002-08-09 Sony Computer Entertainment Inc Object control method, object control processing program executed by computer, computer readable-recording medium with recorded object control processing program executed by computer, and program executing device executing object control processing program
JP2002159749A (en) 2000-11-28 2002-06-04 Namco Ltd Game system and program
US6778181B1 (en) 2000-12-07 2004-08-17 Nvidia Corporation Graphics processing system having a virtual texturing array
US6850243B1 (en) 2000-12-07 2005-02-01 Nvidia Corporation System, method and computer program product for texture address operations based on computations involving other textures
US6928433B2 (en) 2001-01-05 2005-08-09 Creative Technology Ltd Automatic hierarchical categorization of music by metadata
US7162314B2 (en) 2001-03-05 2007-01-09 Microsoft Corporation Scripting solution for interactive audio generation
JP3581835B2 (en) 2001-03-14 2004-10-27 株式会社イマジカ Color conversion method and apparatus in chroma key processing
US6493858B2 (en) 2001-03-23 2002-12-10 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data
US6961055B2 (en) 2001-05-09 2005-11-01 Free Radical Design Limited Methods and apparatus for constructing virtual environments
US7085722B2 (en) 2001-05-14 2006-08-01 Sony Computer Entertainment America Inc. System and method for menu-driven voice control of characters in a game environment
US6639594B2 (en) 2001-06-03 2003-10-28 Microsoft Corporation View-dependent image synthesis
US6781594B2 (en) 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light
JP2003338972A (en) 2001-09-12 2003-11-28 Fuji Photo Film Co Ltd Image processing system, imaging unit, apparatus and method for processing image and program
US6995788B2 (en) 2001-10-10 2006-02-07 Sony Computer Entertainment America Inc. System and method for camera navigation
US7081893B2 (en) 2001-10-10 2006-07-25 Sony Computer Entertainment America Inc. System and method for point pushing to render polygons in environments with changing levels of detail
US7046245B2 (en) 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
KR100737632B1 (en) 2001-10-10 2007-07-10 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 System and method for dynamically loading game software for smooth game play
JP3493189B2 (en) 2001-10-11 2004-02-03 コナミ株式会社 Game progress control program, game progress control method, and video game apparatus
US7711244B2 (en) 2001-10-29 2010-05-04 Panasonic Corporation Video/audio synchronizing apparatus
US7034784B2 (en) 2001-11-22 2006-04-25 Sharp Kabushiki Kaisha Optical shifter and optical display system
JP3732168B2 (en) 2001-12-18 2006-01-05 株式会社ソニー・コンピュータエンタテインメント Display device, display system and display method for objects in virtual world, and method for setting land price and advertising fee in virtual world where they can be used
KR100926469B1 (en) 2002-01-31 2009-11-13 톰슨 라이센싱 Audio/video system providing variable delay and method for synchronizing a second digital signal relative to a first delayed digital signal
US7159212B2 (en) * 2002-03-08 2007-01-02 Electronic Arts Inc. Systems and methods for implementing shader-driven compilation of rendering assets
US6912010B2 (en) 2002-04-15 2005-06-28 Tektronix, Inc. Automated lip sync error correction
US6956871B2 (en) 2002-04-19 2005-10-18 Thomson Licensing Apparatus and method for synchronization of audio and video streams
US6831641B2 (en) 2002-06-17 2004-12-14 Mitsubishi Electric Research Labs, Inc. Modeling and rendering of surface reflectance fields of 3D objects
US6903738B2 (en) 2002-06-17 2005-06-07 Mitsubishi Electric Research Laboratories, Inc. Image-based 3D modeling rendering system
US7212248B2 (en) 2002-09-09 2007-05-01 The Directv Group, Inc. Method and apparatus for lipsync measurement and correction
US7339589B2 (en) 2002-10-24 2008-03-04 Sony Computer Entertainment America Inc. System and method for video choreography
US7180529B2 (en) 2002-12-19 2007-02-20 Eastman Kodak Company Immersive image viewing system and method
US7072792B2 (en) 2002-12-24 2006-07-04 Daniel Freifeld Racecourse lap counter and racecourse for radio controlled vehicles
US7214133B2 (en) 2003-05-09 2007-05-08 Microsoft Corporation Method and apparatus for retrieving recorded races for use in a game
CA2527328C (en) 2003-05-29 2013-04-02 Eat.Tv, Llc System for presentation of multimedia content
US7428000B2 (en) 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
KR100810514B1 (en) 2003-10-28 2008-03-07 삼성전자주식회사 Display apparatus and control method thereof
GB2411065A (en) 2004-02-11 2005-08-17 Vodafone Plc Mobile telephone terminal with camera and using display to illuminate scene.
US7333150B2 (en) 2004-05-14 2008-02-19 Pixel Instruments Corporation Method, system, and program product for eliminating error contribution from production switchers with internal DVEs
KR100703334B1 (en) 2004-08-20 2007-04-03 삼성전자주식회사 Apparatus and method for displaying image in mobile terminal
US20060046834A1 (en) 2004-08-30 2006-03-02 Aruze Corp. Gaming machine, control method for gaming machine, game system, server, mobile device and game program
CN101917498B (en) 2004-09-21 2012-06-13 株式会社尼康 Mobile information device
US20060071933A1 (en) * 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
KR100631603B1 (en) 2004-10-25 2006-10-09 엘지전자 주식회사 How to improve image quality of the mobile communication device
US20060209210A1 (en) 2005-03-18 2006-09-21 Ati Technologies Inc. Automatic audio and video synchronization
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US7589723B2 (en) 2005-07-25 2009-09-15 Microsoft Corporation Real-time rendering of partially translucent objects
US9697230B2 (en) 2005-11-09 2017-07-04 Cxense Asa Methods and apparatus for dynamic presentation of advertising, factual, and informational content using enhanced metadata in search-driven media applications
JP2007271999A (en) 2006-03-31 2007-10-18 Renesas Technology Corp Photomask, method for manufacturing the same, and method for manufacturing electronic device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
JP2007334664A (en) 2006-06-15 2007-12-27 Sharp Corp Process controller, process control method, and computer program
US7907117B2 (en) 2006-08-08 2011-03-15 Microsoft Corporation Virtual controller for visual displays
US7896733B2 (en) 2006-09-14 2011-03-01 Nintendo Co., Ltd. Method and apparatus for providing interesting and exciting video game play using a stability/energy meter
US20080111789A1 (en) 2006-11-09 2008-05-15 Intelligence Frontier Media Laboratory Ltd Control device with hybrid sensing system comprised of video-based pattern recognition and electronic signal transmission
KR100849693B1 (en) 2006-12-28 2008-07-31 엔에이치엔(주) Method and system for generating static-shadow
JP5285234B2 (en) 2007-04-24 2013-09-11 任天堂株式会社 Game system, information processing system
US8566158B2 (en) 2008-01-28 2013-10-22 At&T Intellectual Property I, Lp System and method for harvesting advertising data for dynamic placement into end user data streams

Patent Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683466A (en) * 1984-12-14 1987-07-28 Honeywell Information Systems Inc. Multiple color generation on a display
US5253339A (en) * 1990-07-26 1993-10-12 Sun Microsystems, Inc. Method and apparatus for adaptive Phong shading
US5805782A (en) * 1993-07-09 1998-09-08 Silicon Graphics, Inc. Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US5559950A (en) * 1994-02-02 1996-09-24 Video Lottery Technologies, Inc. Graphics processor enhancement unit
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
US5808617A (en) * 1995-08-04 1998-09-15 Microsoft Corporation Method and system for depth complexity reduction in a graphics rendering system
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US6252608B1 (en) * 1995-08-04 2001-06-26 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5870098A (en) * 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US6578197B1 (en) * 1998-04-08 2003-06-10 Silicon Graphics, Inc. System and method for high-speed execution of graphics application programs including shading language instructions
US6646639B1 (en) * 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US20040130552A1 (en) * 1998-08-20 2004-07-08 Duluk Jerome F. Deferred shading graphics pipeline processor having advanced features
US6421057B1 (en) * 1999-07-15 2002-07-16 Terarecon, Inc. Configurable volume rendering pipeline
US20020018063A1 (en) * 2000-05-31 2002-02-14 Donovan Walter E. System, method and article of manufacture for shadow mapping
US6717599B1 (en) * 2000-06-29 2004-04-06 Microsoft Corporation Method, system, and computer program product for implementing derivative operators with graphics hardware
US6646640B2 (en) * 2001-02-06 2003-11-11 Sony Computer Entertainment Inc. System and method for creating real-time shadows of complex transparent objects
US20020140703A1 (en) * 2001-03-30 2002-10-03 Baker Nicholas R. Applying multiple texture maps to objects in three-dimensional imaging processes
US7006101B1 (en) * 2001-06-08 2006-02-28 Nvidia Corporation Graphics API with branching capabilities
US20030009748A1 (en) * 2001-06-08 2003-01-09 Glanville Robert Steven Software emulator for optimizing application-programmable vertex processing
US20040130550A1 (en) * 2001-10-18 2004-07-08 Microsoft Corporation Multiple-level graphics processing with animation interval generation
US20030117391A1 (en) * 2001-12-21 2003-06-26 Silicon Graphics, Inc. System, method, and computer program product for real-time shading of computer generated images
US20030179220A1 (en) * 2002-03-20 2003-09-25 Nvidia Corporation System, method and computer program product for generating a shader program
US20040051716A1 (en) * 2002-08-30 2004-03-18 Benoit Sevigny Image processing
US20050078116A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Systems and methods for robust sampling for real-time relighting of objects in natural lighting environments
US20050243094A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US20090040222A1 (en) * 2004-10-06 2009-02-12 Robin James Green Multi-pass shading
US8289325B2 (en) 2004-10-06 2012-10-16 Sony Computer Entertainment America Llc Multi-pass shading
US7623132B1 (en) * 2004-12-20 2009-11-24 Nvidia Corporation Programmable shader having register forwarding for reduced register-file bandwidth consumption
US7861234B1 (en) * 2005-02-23 2010-12-28 Oracle America, Inc. System and method for binary translation to improve parameter passing
US8284310B2 (en) 2005-06-22 2012-10-09 Sony Computer Entertainment America Llc Delay matching in audio/video systems
US8243089B2 (en) 2006-05-04 2012-08-14 Sony Computer Entertainment Inc. Implementing lighting control of a user environment
US8204272B2 (en) 2006-05-04 2012-06-19 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8296738B1 (en) * 2007-08-13 2012-10-23 Nvidia Corporation Methods and systems for in-place shader debugging and performance tuning
US8276129B1 (en) * 2007-08-13 2012-09-25 Nvidia Corporation Methods and systems for in-place shader debugging and performance tuning
US8345045B2 (en) * 2008-03-04 2013-01-01 Microsoft Corporation Shader-based extensions for a declarative presentation framework
US20090225079A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Shader-based extensions for a declarative presentation framework
US20130127858A1 (en) * 2009-05-29 2013-05-23 Luc Leroy Interception of Graphics API Calls for Optimization of Rendering
US20120290560A1 (en) * 2011-05-13 2012-11-15 Kushal Das Mechanism for efficiently querying application binary interface/application programming interface-related information
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US20140240337A1 (en) * 2013-02-26 2014-08-28 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US20140240329A1 (en) * 2013-02-26 2014-08-28 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US9165396B2 (en) * 2013-02-26 2015-10-20 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US9171525B2 (en) * 2013-02-26 2015-10-27 Nvidia Corporation Graphics processing unit with a texture return buffer and a texture queue
US20150379672A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd Dynamically optimized deferred rendering pipeline
US9842428B2 (en) * 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline
JP2017526036A (en) * 2014-07-10 2017-09-07 インテル・コーポレーション Method and apparatus for updating a shader program based on a current state

Also Published As

Publication number Publication date
WO2006041993A1 (en) 2006-04-20
US20090040222A1 (en) 2009-02-12
US8289325B2 (en) 2012-10-16

Similar Documents

Publication Publication Date Title
KR100902973B1 (en) Real-time display post-processing using programmable hardware
US7015913B1 (en) Method and apparatus for multithreaded processing of data in a programmable graphics processor
US6891544B2 (en) Game system with graphics processor
US5774133A (en) Computer system with improved pixel processing capabilities
DE102008026431B4 (en) Extrapolation of non-resident mipmap data using resident mipmap data
US5920326A (en) Caching and coherency control of multiple geometry accelerators in a computer graphics system
US8068116B2 (en) Methods, systems, and data structures for generating a rasterizer
US7187384B2 (en) Systems and methods for downloading custom or prefabricated processing routines to programmable graphics chips
US7027059B2 (en) Dynamically constructed rasterizers
US9430809B2 (en) Multi-platform image processing framework
JP2010198629A (en) Program code conversion method
JP4450853B2 (en) load distribution
US8749576B2 (en) Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
JP2009520307A (en) Graphics processor parallel array architecture
US9412197B2 (en) Patched shading in graphics processing
JP2009543195A (en) Fast reconstruction of graphics pipeline state
US7012604B1 (en) System architecture for high speed ray tracing
US8830246B2 (en) Switching between direct rendering and binning in graphics processing
JP2005521179A (en) System, method and computer program product for generating shader programs
US7006101B1 (en) Graphics API with branching capabilities
US6995765B2 (en) System, method, and computer program product for optimization of a scene graph
EP1735748B1 (en) System and method for processing graphics operations with graphics processing unit
US7978197B2 (en) Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques
US7015909B1 (en) Efficient use of user-defined shaders to implement graphics operations
JP2009295166A (en) Graphics processing system

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY COMPUTER ENTERTAINMENT INC., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GREEN, ROBIN JAMES;MAMODE, AXEL;HASHIMOTO, ROY TADASHI;REEL/FRAME:015874/0913;SIGNING DATES FROM 20041005 TO 20041006

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: SONY NETWORK ENTERTAINMENT PLATFORM INC., JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:SONY COMPUTER ENTERTAINMENT INC.;REEL/FRAME:027446/0001

Effective date: 20100401

AS Assignment

Owner name: SONY COMPUTER ENTERTAINMENT INC., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SONY NETWORK ENTERTAINMENT PLATFORM INC.;REEL/FRAME:027557/0001

Effective date: 20100401

AS Assignment

Owner name: SONY INTERACTIVE ENTERTAINMENT INC., JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:SONY COMPUTER ENTERTAINMENT INC.;REEL/FRAME:039239/0343

Effective date: 20160401