Please Login First
×
Create a new article
Write your page title here:
We currently have 321 articles on Inside. Type your article name above or click on one of the titles below and start writing!



    Inside

    GSDP:GAM100/CProcessing/mat3 scale()

    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);
    }
    

    Related