Difference between revisions of "CCLights2"

From ComputerCraft Wiki
Jump to: navigation, search
(sort docs)
(update docs)
Line 1: Line 1:
 
[http://www.computercraft.info/forums2/index.php?/topic/10216-wip-cclights2-opensource-now-on-github/ CCLights2] is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike CCGPU, this mod does not use OpenGL, but it is Multiplayer Compatible.
 
[http://www.computercraft.info/forums2/index.php?/topic/10216-wip-cclights2-opensource-now-on-github/ CCLights2] is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike CCGPU, this mod does not use OpenGL, but it is Multiplayer Compatible.
  
 +
Please note; this documentation will always try to stay up to date with the github repo, so it might not fit your build :P
 
<table style="width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;">
 
<table style="width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;">
 
<tr>
 
<tr>
Line 28: Line 29:
  
 
<tr>
 
<tr>
<td colspan="2" style="font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;">[[File:Grid_disk.png|24px]]&nbsp;&nbsp;CCLights2 Monitors</td>
+
<td colspan="2" style="font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;">[[File:Grid_disk.png|24px]]&nbsp;&nbsp;CCLights2 Monitors and ram</td>
 
</tr>
 
</tr>
  
Line 56: Line 57:
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">
  
An external Monitor. It suports a resolution up to 512x288.
+
An external Monitor. It supports a resolution up to 512x288.
  
 
{{Crafting grid
 
{{Crafting grid
Line 63: Line 64:
 
  |A3=glass pane |B3=glass pane      |C3=glass pane
 
  |A3=glass pane |B3=glass pane      |C3=glass pane
 
  |Output=CCLights2 External Monitor
 
  |Output=CCLights2 External Monitor
 +
|Output-link=CCLights2
 +
|B2-link=CCLights2
 +
}}
 +
</td>
 +
</tr>
 +
<tr style="background-color: #FFFFFF;"><td style="border-top: solid #C9C9C9 1px; padding: .4em;">TabletTransciever</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">
 +
 +
The basestation for the tablet,  CONNECT YOUR TABLETS HERE!
 +
 +
{{Crafting grid
 +
|B1=Redstone
 +
|A2=Redstone |B2=CCLights2 Monitor |C2=Redstone
 +
|B3=Redstone
 +
|Output=CCLights2 TabletTransciever
 
  |Output-link=CCLights2
 
  |Output-link=CCLights2
 
  |B2-link=CCLights2
 
  |B2-link=CCLights2
Line 78: Line 94:
 
  |A2=Redstone        |C2=Redstone
 
  |A2=Redstone        |C2=Redstone
 
  |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot
 
  |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot
 +
|Output=CCLights2 Ram
 +
|Output-link=CCLights2
 +
}}
 +
</td>
 +
</tr>
 +
        <tr style="background-color: #E8E8E8;"><td style="border-top: solid #C9C9C9 1px; padding: .4em;">RAM</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">
 +
 +
Yep. You can craft more Ram... with ram! (double the capacity up to a maximum of 8k!)
 +
 +
{{Crafting grid
 +
|A1=CCLights2 Ram |B1=CCLights2 Ram
 
  |Output=CCLights2 Ram
 
  |Output=CCLights2 Ram
 
  |Output-link=CCLights2
 
  |Output-link=CCLights2
Line 143: Line 171:
 
</tr>
 
</tr>
 
         <tr style="background-color: #FFFFFF;">
 
         <tr style="background-color: #FFFFFF;">
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setColorRGB({{type|number}} x, {{type|number}} y) and gpu.plot({{type|number}} x, {{type|number}} y)</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the pixel at x and y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)</td>
 
 
<tr style="background-color: #FFFFFF;">
 
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.plot({{type|number}} x, {{type|number}} y)</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.plot({{type|number}} x, {{type|number}} y)</td>
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">plots a line from x axis to y axis</td>
+
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the pixels from x to y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)</td>
</tr>
+
 
 
</tr>
 
</tr>
 
<tr style="background-color: #FFFFFF;">
 
<tr style="background-color: #FFFFFF;">
Line 170: Line 193:
 
<tr style="background-color: #FFFFFF;">
 
<tr style="background-color: #FFFFFF;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} width, {{type|number}} height</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} width, {{type|number}} height</td>
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">(gpu.getSize and gpu.getTextureSize)([ {{type|number}} textureid])</td>
+
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getSize([ {{type|number}} textureid])</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Returns the texture size of <var>textureid</var> or the current binded texture. Using texture 0 will give you the screen size.</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Returns the texture size of <var>textureid</var> or the current binded texture. Using texture 0 will give you the screen size.</td>
</tr>
 
<tr style="background-color: #FFFFFF;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setTransparent()</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">This method is depreciated. Any attempt to use it will result in an error.</td>
 
</tr>
 
<tr style="background-color: #FFFFFF;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setTransparencyColor()</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">This method is depreciated. Any attempt to use it will result in an error.</td>
 
 
</tr>
 
</tr>
 
<tr style="background-color: #FFFFFF;">
 
<tr style="background-color: #FFFFFF;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha</td>
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getColorRGB({{type|number}} x, {{type|number}} y) and gpu.getPixel({{type|number}} x, {{type|number}} y)</td>
+
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getPixels({{type|number}} x, {{type|number}} y)</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.</td>
 
</tr>
 
</tr>
Line 198: Line 211:
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Draws a filled rectangle from x, y to x+width, y+height.</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Draws a filled rectangle from x, y to x+width, y+height.</td>
 
</tr>
 
</tr>
                <tr style="background-color: #FFFFFF;">
+
        <tr style="background-color: #FFFFFF;">
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setColor({{type|number}} red, {{type|number}} green, {{type|number}} blue[, {{type|number}} alpha])</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setColor({{type|number}} red, {{type|number}} green, {{type|number}} blue[, {{type|number}} alpha])</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the GPU's current drawing color</td>
 
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the GPU's current drawing color</td>
 
</tr>
 
</tr>
 
+
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} slot</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getBindedTexture()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Gets the GPU's currently binded texture</td>
 +
</tr>
 +
            <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setPixelsRaw({{type|number}} width, {{type|number}} height, {{type|number}} x, {{type|number}} y, Optional: {{type|number}} red,{{type|number}} green,{{type|number}} blue)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets pixel to specs</td>
 +
</tr>
 +
          <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setPixelsRawYX({{type|number}} width, {{type|number}} height, {{type|number}} x, {{type|number}} y, Optional: {{type|number}} red,{{type|number}} green,{{type|number}} blue)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets pixel to specs?!</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.flipTextureV()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">flips the texture vertically</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.import({{type|string}} path/to/imagefile,{{type|string}} file format)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">decodes an imagefile and makes it ready for texture binding.</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.export({{type|number}} textureid, {{type|string}} file format)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">encodes an imagefile and makes it ready for saving.</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.drawText({{type|string}} text to  write, {{type|number}} x,{{type|number}} y)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">writes text from pixel x,y</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} textWidth</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getTextWidth()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Gets Text width</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.setColor({{type|number}} red,{{type|number}} green,{{type|number}} blue, optional; {{type|number}} alpha)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Sets the GPU's current color</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getColor()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Gets the GPU's current color</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.transelate({{type|number}} x,{{type|number}} y)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">transelates the texture</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.rotate({{type|number}} degrees)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">rotates the texture</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.rotateAround({{type|number}} degrees,{{type|number}} x,{{type|number}} y)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">rotates the texture around pixel x,y</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.scale({{type|number}} x-axis size,{{type|number}} y-axis size)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">scales the texture to specs</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.push()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">store commands from here on and do nothing with them (input stored)</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.pop()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">process stored input</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.push()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">store commands from here on and do nothing with them (input stored)</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;"></td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.getMonitor()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Get monitor object</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.blur({{type|number}} blur amount)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">makes the texture blurry</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.startFrame()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">Starts a new frame</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.endFrame()</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">ends the frame</td>
 +
</tr>
 +
        <tr style="background-color: #FFFFFF;">
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">{{type|nil}}</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">gpu.clearRect({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)</td>
 +
<td style="border-top: solid #C9C9C9 1px; padding: .4em;">idk</td>
 +
</tr>
 
</table>
 
</table>
 
[[Category:User Created Peripherals]]
 
[[Category:User Created Peripherals]]

Revision as of 18:46, 21 January 2014

CCLights2 is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike CCGPU, this mod does not use OpenGL, but it is Multiplayer Compatible.

Please note; this documentation will always try to stay up to date with the github repo, so it might not fit your build :P

Grid disk.png  CCLights2 Peripherals
Name Description
GPU Peripheral

The GPU Peripheral needs to be placed next to a computer. It will autoconnect with the first monitor that connects with it, and will auto disconnect when the monitor detaches.


iron ingot

Redstone

Gold Ingot

iron ingot

Gold Ingot

Gold Ingot

iron ingot

Redstone

Gold Ingot

CCLights2 GPU



Grid disk.png  CCLights2 Monitors and ram
Name Description
Normal Monitor

The basic Monitor. It sports an elegant resolution of 256x144.


iron ingot

Redstone

Gold Ingot

iron ingot

glass pane

Gold Ingot

iron ingot

Redstone

Gold Ingot

CCLights2 Monitor



External Monitor

An external Monitor. It supports a resolution up to 512x288.


glass pane

glass pane

glass pane

glass pane

CCLights2 Monitor

glass pane

glass pane

glass pane

glass pane

CCLights2 External Monitor



TabletTransciever

The basestation for the tablet, CONNECT YOUR TABLETS HERE!



Redstone


Redstone

CCLights2 Monitor

Redstone


Redstone


CCLights2 TabletTransciever



RAM

Yep. You can craft more Ram.


iron ingot

Redstone

Gold Ingot

iron ingot

Gold Ingot

iron ingot

Redstone

Gold Ingot

CCLights2 Ram



RAM

Yep. You can craft more Ram... with ram! (double the capacity up to a maximum of 8k!)


CCLights2 Ram


CCLights2 Ram




CCLights2 Ram



Tablet

Hold it in your hand! Go caving! Watch your life leech away as you stare into this tablet! NOTE: Watch out for Creepers.


Gold Ingot

Redstone

Gold Ingot

iron ingot

CCLights2 External Monitor

iron ingot

Gold Ingot

Redstone

Gold Ingot

CCLights2 Tablet



Grid disk.png  GPU Methods
Returns Method Name Description
nil gpu.fill() Fills the current binded texture with the GPU color. NOTE: This method will fully replace the contents of the texture.
number textureid gpu.createTexture(number width, number height) Creates a texture and returns the texture id. This function will error if there is no more room for the texture.
number freememory gpu.getFreeMemory() Returns the amount of free memory that the GPU has to use. This can be expanded by right clicking the GPU with RAM.
number totalmemory gpu.getTotalMemory() Returns the amount of memory that the GPU has. This can be expanded by right clicking the GPU with RAM.
number usedmemory gpu.getUsedMemory() Returns the amount of memory that the GPU is using. This value is changed by allocating textures with gpu.createTexture and freeing textures with gpu.freeTexture.
nil gpu.bindTexture(number textureid) Bind the texture at textureid, this method will error if invalid values are used. Texture 0 is the screen.
nil gpu.plot(number x, number y) Sets the pixels from x to y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)
nil gpu.drawTexture(number textureid, number x, number y[, number startX, number startY, number width, number height]) Draws the texture textureid to x and y, and if startX, startY, width, and height is defined, it will render only that area of the texture. (Remember: You can render the texture to itself)
nil gpu.freeTexture(number textureid) Frees the texture defined by textureid
nil gpu.line(number x0, number y0, number x1, number y1) Draws a line from x0 and y0 to x1 and y1.
number width, number height gpu.getSize([ number textureid]) Returns the texture size of textureid or the current binded texture. Using texture 0 will give you the screen size.
number red, number green, number blue, number alpha gpu.getPixels(number x, number y) Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.
nil gpu.rectangle(number x, number y, number width, number height) Draws the outline of a rectangle from x, y to x+width, y+height.
nil gpu.filledRectangle(number x, number y, number width, number height) Draws a filled rectangle from x, y to x+width, y+height.
nil gpu.setColor(number red, number green, number blue[, number alpha]) Sets the GPU's current drawing color
number slot gpu.getBindedTexture() Gets the GPU's currently binded texture
nil gpu.setPixelsRaw(number width, number height, number x, number y, Optional: number red,number green,number blue) Sets pixel to specs
nil gpu.setPixelsRawYX(number width, number height, number x, number y, Optional: number red,number green,number blue) Sets pixel to specs?!
nil gpu.flipTextureV() flips the texture vertically
nil gpu.import(string path/to/imagefile,string file format) decodes an imagefile and makes it ready for texture binding.
nil gpu.export(number textureid, string file format) encodes an imagefile and makes it ready for saving.
nil gpu.drawText(string text to write, number x,number y) writes text from pixel x,y
number textWidth gpu.getTextWidth() Gets Text width
nil gpu.setColor(number red,number green,number blue, optional; number alpha) Sets the GPU's current color
number red, number green, number blue, number alpha gpu.getColor() Gets the GPU's current color
nil gpu.transelate(number x,number y) transelates the texture
nil gpu.rotate(number degrees) rotates the texture
nil gpu.rotateAround(number degrees,number x,number y) rotates the texture around pixel x,y
nil gpu.scale(number x-axis size,number y-axis size) scales the texture to specs
nil gpu.push() store commands from here on and do nothing with them (input stored)
nil gpu.pop() process stored input
nil gpu.push() store commands from here on and do nothing with them (input stored)
gpu.getMonitor() Get monitor object
nil gpu.blur(number blur amount) makes the texture blurry
nil gpu.startFrame() Starts a new frame
nil gpu.endFrame() ends the frame
nil gpu.clearRect(number x, number y, number width, number height) idk