Question: HTML: attribute vec 4 vPosition; attribute vec 4 vColor; attribute float vIndex; uniform float theta; uniform vec 4 cr; uniform vec 4 cg; uniform vec
HTML:
attribute vec vPosition;
attribute vec vColor;
attribute float vIndex;
uniform float theta;
uniform vec cr;
uniform vec cg;
uniform vec cb;
varying vec fColor;
void main
float x y;
float angle radianstheta;
float c cosangle;
float s sinangle;
determine the values of x and y based on vIndex
the following lines need to be fixed x and y
should be the x and ycoordinates of the
corresponding centroid based on vIndex.
x vIndex;
y vIndex;
translate to origin
mat t mat
xy;
rotate
mat rz matc s
s c
;
translate back
mat t mat
x y;
fColor vColor;
glPointSize ;
transform the vertex
glPosition vPosition; this line needs to be modified
precision mediump float;
varying vec fColor;
void main
glFragColor fColor;
Oops your browser doesn't support the HTML canvas element
Javascript:
"use strict";
var canvas;
var gl;
var points;
var colors;
var indices;
var red ;
var green ;
var blue ;
var black ;
var white ;
var redTriangle;
var greenTriangle;
var blueTriangle;
var program;
var theta ;
var thetaLoc;
var crLoc;
var cgLoc;
var cbLoc;
window.onload function init
canvas document.getElementByIdglcanvas";
gl WebGLUtils.setupWebGLcanvas;
if gl
alertWebGL isn't available";
program initShadersgl "vertexshader", "fragmentshader";
gluseProgramprogram;
glviewport canvas.width, canvas.height;
glclearColor;
glenableglDEPTHTEST;
redTriangle createTriangle;
greenTriangle createTriangle;
blueTriangle createTriangle;
points ;
colors ;
indices ;
var cr computeCentroidredTriangle;
var cg computeCentroidgreenTriangle;
var cb computeCentroidblueTriangle;
draw filled triangles
points.pushredTriangle redTriangle redTriangle
greenTriangle greenTriangle greenTriangle
blueTriangle blueTriangle blueTriangle;
colors.pushred red, red, green, green, green, blue, blue, blue;
indices.push;
draw triangle outlines
points.pushredTriangle redTriangle
redTriangle redTriangle
redTriangle redTriangle
greenTriangle greenTriangle
greenTriangle greenTriangle
greenTriangle greenTriangle
blueTriangle blueTriangle
blueTriangle blueTriangle
blueTriangle blueTriangle;
colors.pushblack black, black, black, black, black,
black, black, black, black, black, black,
black, black, black, black, black, black;
indices.push
;
draw centers
points.pushcr cg cb;
colors.pushwhite white, white;
indices.push;
setup uniforms
thetaLoc glgetUniformLocationprogram "thet
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
