GSDP:GAM100/CProcessing/mat3 scale()
From Inside
< GSDP:GAM100 | CProcessing
Revision as of 06:34, 26 June 2019 by >Zachary.logsdon
mat3_scale()
Description
Creates a Mat3 scale matrix from an input Vec2.
Parameters
mat3_scale(Vec2 scale)
- scale - (Vec2) A vector containing the x and y scalars to create the matrix from.
Example
void init()
{
rectMode(CENTER);
noStroke();
}
void update()
{
// White background
background(color(255, 255, 255, 255));
Vec2 position = vec2_set(canvasWidth / 2, canvasHeight / 2);
// Create transform matrices
Mat3 scale = mat3_scale(vec2_set(150, 100));
Mat3 translate = mat3_translate(position);
Mat3 rotate = mat3_rotate(90.0f);
// Combine transfrom
// Translate * rotation * scale
Mat3 transform = mat3_concat(translate, mat3_concat(rotate, scale));
// Set the camera transfrom to the created matrix
applyMatrix(transform);
// Draw a blue cube at the "center" of the screen
fill(color(0, 0, 255, 255));
rect(0, 0, 1, 1);
// Reset the matrix to the identity matrix
resetMatrix();
// Draw a red cube in the center of the screen
fill(color(255, 0, 0, 255));
rect(position.x, position.y, 50, 50);
}