The createGraphics() function in p5.js is used for creating an off-screen graphics buffer. It creates and returns a new p5.Renderer object.
Syntax:
createGraphics(w, h, [renderer])
Parameter: This function accepts three parameters as mentioned above and described below:
- w: It is a number that sets the width of the off-screen graphics buffer.
- h: It is a number that sets the height of the off-screen graphics buffer.
- renderer: It is a constant that sets the mode to either P2D or WEBGL. It is an optional parameter. It defaults to P2D if undefined.
Return Value: It returns a p5.Graphics object that contains the off-screen graphics buffer.
The below example illustrates the createGraphics() function in p5.js:
Example 1:
Javascript
// Define the variable to store the graphics let gfg; function setup() {
// Set the canvas
createCanvas(600, 600, WEBGL);
// Create a new graphics renderer
gfg = createGraphics(300, 300);
// Change the properties of the
// graphics buffer
gfg.background(255, 100);
gfg.textSize(64);
gfg.fill( "green" );
gfg.textAlign(CENTER);
gfg.text( "GFG" , 150, 50);
} function draw() {
background(0);
// Add a point light to the scene
pointLight(255, 255, 255, 0, -200, 200);
noStroke();
rotateZ(frameCount * 0.02);
rotateX(frameCount * 0.02);
noStroke();
// Apply the graphics created
// as a texture
texture(gfg);
// Use a box for the texture
box(150);
} |
Output:
Example 2:
Javascript
// Define the variable to store the graphics let graphics; function setup() {
// Set the canvas
createCanvas(600, 600, WEBGL);
// Create a new graphics renderer
graphics = createGraphics(200, 200);
graphics.background(255);
} function draw() {
background(0);
// Add the required objects to the
// graphics buffer
graphics.line(0, 0, 200, 200);
graphics.line(100, 0, 200, 200);
graphics.line(100, 200, 200, 100);
graphics.fill( "green" );
graphics.triangle(30, 75, 50, 20, 85, 70);
ambientLight(150);
// Add a point light to the scene
pointLight(255, 255, 255, 0, -200, 200);
rotateZ(frameCount * 0.02);
rotateX(frameCount * 0.02);
// Apply the graphics created
// as a texture
texture(graphics);
// Use a box for the texture
box(150);
} |
Output: