materials are now created by specifying shaders

shader uniforms are added to materials
This commit is contained in:
devZoGok
2021-11-10 20:23:15 +02:00
parent 34e7a74bba
commit ec8dd7ac1e
17 changed files with 321 additions and 213 deletions
+9 -9
View File
@@ -41,18 +41,18 @@ int main(){
*/
Box *driverBox = new Box(Vector3(1, 1, 1) * .25);
Node *driver = new Node(Vector3::VEC_ZERO, Quaternion::QUAT_W, Vector3::VEC_IJK, "", new AnimationController());
Material *driverMat = new Material();
driverMat->setTexturingEnabled(false);
driverMat->setDiffuseColor(Vector4(0, 1, 0, 1));
Material *driverMat = new Material(PATH + "texture");
driverMat->addVariable("texturingEnabled", false);
driverMat->addVariable("diffuseColor", Vector4(0, 1, 0, 1));
driverBox->setMaterial(driverMat);
driver->attachMesh(driverBox);
rootNode->attachChild(driver);
Box *leftBox = new Box(Vector3(1, 1, 1) * .25);
Node *leftNode = new Node();
Material *leftMat = new Material();
leftMat->setTexturingEnabled(false);
leftMat->setDiffuseColor(Vector4(1, 0, 0, 1));
Material *leftMat = new Material(PATH + "texture");
leftMat->addVariable("texturingEnabled", false);
leftMat->addVariable("diffuseColor", Vector4(1, 0, 0, 1));
leftBox->setMaterial(leftMat);
leftNode->attachMesh(leftBox);
rootNode->attachChild(leftNode);
@@ -60,9 +60,9 @@ int main(){
Box *rightBox = new Box(Vector3(1, 1, 1) * .25);
Node *rightNode = new Node();
Material *rightMat = new Material();
rightMat->setTexturingEnabled(false);
rightMat->setDiffuseColor(Vector4(0, 0, 1, 1));
Material *rightMat = new Material(PATH + "texture");
rightMat->addVariable("texturingEnabled", false);
rightMat->addVariable("diffuseColor", Vector4(0, 0, 1, 1));
rightBox->setMaterial(rightMat);
rightNode->attachMesh(rightBox);
rootNode->attachChild(rightNode);