GPU (API)

From ComputerCraft Wiki
Jump to: navigation, search

The GPU api provides interaction with and is part of the CCGPU peripheral.
Arguments surrounded with square brackets are optional.

API Methods

These methods can be used in any ComputerCraft program if the CCGPU api is installed.

Method name Description
gpu.getID([side]) Returns the ID of the GPU on the given side.
gpu.setRenderCode([side], renderCode) Sets the gpu rendering code, this code is ran every frame.
gpu.loadRenderCode([side], filePath) Equivalent to setting the render code, but loads it from a file.
gpu.setVar([side], name, value) coming soon
gpu.getLatestError([side]) Returns the last error that has been thrown by Lua in your render code.

Render Methods

These methods can be used in render code when set using gpu.setRenderCode.

Method name Description
gpuCreateBuffer(width, height) Coming soon
gpuClearBuffer() Clear the currently bound buffer.
gpuBindBuffer(id) coming soon
gpuBindOutputBuffer(id) Start drawing to a different buffer. (Set this to a certain monitor ID to draw to it.)
gpuGetOutputResolution(id) Coming soon

OpenGL Methods

These methods are part of OpenGL and can only be used in render code when set using gpu.setRenderCode.

Method name Description
glBegin(mode) Begins drawing something (Begins GL scope). mode should be a constant like GL_QUADS or GL_TRIANGLES. You must invoke this function before setting vertices for the shape.
glEnd() Invoke this when you've set all your vertices (Ends GL scope).
glBindTexture(id) Coming soon
glTexCoord2f(x, y) Coming soon
glVertex2f(x, y) Use this between glBegin(mode) and glEnd() to set a 2D vertex.
glVertex3f(x, y, z) Use this between glBegin(mode) and glEnd() to set a 3D vertex.
glColor3f(red, green, blue) Use this between glBegin(mode) and glEnd() to set the color.
glColor4f(red, green, blue, alpha) Use this between glBegin(mode) and glEnd() to set the color with alpha (opacity).

OpenGL Constants

These constants are part of OpenGL and can only be used in render code when set using gpu.setRenderCode.

Constant name Description
GL_QUADS Constant for drawing a quadrilateral.
GL_TRIANGLES Constant for drawing a triangle.
GL_POINTS Constant for drawing a pixel at each vertex given.

Although some constants are not yet included in the API, they can already be used. Therefore you have to pass in the value which is associated with the constant.

Associated value Constant name Description
1 GL_LINES Value for drawing a line.
2 GL_LINE_LOOP Value for drawing a line loop.
3 GL_LINE_STRIP Value for drawing a line strip.
5 GL_TRIANGLE_STRIP Value for drawing a triangle strip.
6 GL_TRIANGLE_FAN Value for drawing a triangle fan.
8 GL_QUAD_STRIP Value for drawing a quad strip.
9 GL_POLYGON Value for drawing a convex polygon.