Przeglądaj źródła

Attrbutes now get bound in the renderer as needed, fixed empty lights not being sent properly to shaders

Ivan Safrin 10 lat temu
rodzic
commit
56982ed0c1

BIN
assets/default/default.pak


+ 2 - 4
build/osx/PolycodeStudio/PolycodeStudio.xcodeproj/project.pbxproj

@@ -568,8 +568,7 @@
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/build/osx/TemplateApp/TemplateApp/../../../../lib/osx,
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
+					"\"$(SRCROOT)/../../../lib/osx\"",
 				);
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
@@ -584,8 +583,7 @@
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/build/osx/TemplateApp/TemplateApp/../../../../lib/osx,
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
+					"\"$(SRCROOT)/../../../lib/osx\"",
 				);
 				PRODUCT_NAME = "$(TARGET_NAME)";
 			};

+ 12 - 26
build/osx/TemplateApp/TemplateApp.xcodeproj/project.pbxproj

@@ -7,11 +7,8 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		8A36D1A31B8CF928009897D0 /* bedlayer_main.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8A36D19E1B8CF928009897D0 /* bedlayer_main.wav */; };
-		8A36D1A41B8CF928009897D0 /* curve_02_c.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8A36D19F1B8CF928009897D0 /* curve_02_c.wav */; };
-		8A36D1A51B8CF928009897D0 /* initial_touch_01.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8A36D1A01B8CF928009897D0 /* initial_touch_01.wav */; };
-		8A36D1A61B8CF928009897D0 /* koto_level.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8A36D1A11B8CF928009897D0 /* koto_level.wav */; };
-		8A36D1A71B8CF928009897D0 /* marimba-lo.wav in Resources */ = {isa = PBXBuildFile; fileRef = 8A36D1A21B8CF928009897D0 /* marimba-lo.wav */; };
+		6DD2D0B61BEEDC150026D85C /* libportaudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DD2D0B51BEEDC150026D85C /* libportaudio.a */; };
+		6DD2D0B81BEEDCC90026D85C /* white.png in Resources */ = {isa = PBXBuildFile; fileRef = 6DD2D0B71BEEDCC80026D85C /* white.png */; };
 		8A825F271B82A2680039E823 /* libportaudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A825F261B82A2680039E823 /* libportaudio.a */; };
 		8A825F291B82A29B0039E823 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A825F281B82A29B0039E823 /* CoreAudio.framework */; };
 		8A825F2E1B82A2C80039E823 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A825F2C1B82A2B10039E823 /* AudioUnit.framework */; };
@@ -34,15 +31,11 @@
 		8A86536D1B729D77009F94DD /* PolycodeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A86536C1B729D77009F94DD /* PolycodeView.mm */; };
 		8A8653701B72C431009F94DD /* default.pak in Resources */ = {isa = PBXBuildFile; fileRef = 8A86536F1B72C431009F94DD /* default.pak */; };
 		8A8653961B752DBE009F94DD /* main_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8A8653951B752DBE009F94DD /* main_icon.png */; };
-		8AAA3B4A1BD6D0660078953A /* white.png in Resources */ = {isa = PBXBuildFile; fileRef = 8AAA3B491BD6D0660078953A /* white.png */; settings = {ASSET_TAGS = (); }; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		8A36D19E1B8CF928009897D0 /* bedlayer_main.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = bedlayer_main.wav; path = ../../../../../MSFT/MicrosoftSurfaceHub/Resources/samples/bedlayer_main.wav; sourceTree = "<group>"; };
-		8A36D19F1B8CF928009897D0 /* curve_02_c.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = curve_02_c.wav; path = ../../../../../MSFT/MicrosoftSurfaceHub/Resources/samples/curve_02_c.wav; sourceTree = "<group>"; };
-		8A36D1A01B8CF928009897D0 /* initial_touch_01.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = initial_touch_01.wav; path = ../../../../../MSFT/MicrosoftSurfaceHub/Resources/samples/initial_touch_01.wav; sourceTree = "<group>"; };
-		8A36D1A11B8CF928009897D0 /* koto_level.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = koto_level.wav; path = ../../../../../MSFT/MicrosoftSurfaceHub/Resources/samples/koto_level.wav; sourceTree = "<group>"; };
-		8A36D1A21B8CF928009897D0 /* marimba-lo.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "marimba-lo.wav"; path = "../../../../../MSFT/MicrosoftSurfaceHub/Resources/samples/marimba-lo.wav"; sourceTree = "<group>"; };
+		6DD2D0B51BEEDC150026D85C /* libportaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libportaudio.a; path = ../../../../lib/osx/libportaudio.a; sourceTree = "<group>"; };
+		6DD2D0B71BEEDCC80026D85C /* white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = white.png; path = ../../../../../THU/HELLMOUTH/App/Resources/Resources/textures/white.png; sourceTree = "<group>"; };
 		8A825F261B82A2680039E823 /* libportaudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libportaudio.a; path = ../../../../lib/osx/libportaudio.a; sourceTree = "<group>"; };
 		8A825F281B82A29B0039E823 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
 		8A825F2A1B82A2A50039E823 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
@@ -70,7 +63,6 @@
 		8A86536E1B72C301009F94DD /* PolycodeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolycodeView.h; path = ../../../../include/polycode/view/osx/PolycodeView.h; sourceTree = "<group>"; };
 		8A86536F1B72C431009F94DD /* default.pak */ = {isa = PBXFileReference; lastKnownFileType = file; name = default.pak; path = ../../../../assets/default/default.pak; sourceTree = "<group>"; };
 		8A8653951B752DBE009F94DD /* main_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = main_icon.png; path = ../../../../assets/icons/main_icon.png; sourceTree = "<group>"; };
-		8AAA3B491BD6D0660078953A /* white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = white.png; path = ../../../../../Hellmouth/Resources/Resources/textures/white.png; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -90,6 +82,7 @@
 				8A86535E1B72949F009F94DD /* liblibvorbis.a in Frameworks */,
 				8A86535C1B72949F009F94DD /* libfreetype.a in Frameworks */,
 				8A8653601B72949F009F94DD /* liblua5.1.a in Frameworks */,
+				6DD2D0B61BEEDC150026D85C /* libportaudio.a in Frameworks */,
 				8A8653611B72949F009F94DD /* libphysfs.a in Frameworks */,
 				8A86535D1B72949F009F94DD /* liblibogg.a in Frameworks */,
 			);
@@ -125,17 +118,12 @@
 				8A86536A1B729559009F94DD /* PolycodeTemplateApp.mm */,
 				8A8653351B72931C009F94DD /* AppDelegate.h */,
 				8A8653361B72931C009F94DD /* AppDelegate.m */,
-				8AAA3B491BD6D0660078953A /* white.png */,
 				8A86536E1B72C301009F94DD /* PolycodeView.h */,
 				8A86536C1B729D77009F94DD /* PolycodeView.mm */,
 				8A86536F1B72C431009F94DD /* default.pak */,
 				8A86533A1B72931C009F94DD /* Images.xcassets */,
+				6DD2D0B71BEEDCC80026D85C /* white.png */,
 				8A8653951B752DBE009F94DD /* main_icon.png */,
-				8A36D19E1B8CF928009897D0 /* bedlayer_main.wav */,
-				8A36D19F1B8CF928009897D0 /* curve_02_c.wav */,
-				8A36D1A01B8CF928009897D0 /* initial_touch_01.wav */,
-				8A36D1A11B8CF928009897D0 /* koto_level.wav */,
-				8A36D1A21B8CF928009897D0 /* marimba-lo.wav */,
 				8A86533C1B72931C009F94DD /* MainMenu.xib */,
 				8A8653331B72931C009F94DD /* Supporting Files */,
 			);
@@ -151,6 +139,7 @@
 				8A825F261B82A2680039E823 /* libportaudio.a */,
 				8A8653561B72949F009F94DD /* liblibvorbisfile.a */,
 				8A8653571B72949F009F94DD /* liblua5.1.a */,
+				6DD2D0B51BEEDC150026D85C /* libportaudio.a */,
 				8A8653581B72949F009F94DD /* libphysfs.a */,
 				8A8653591B72949F009F94DD /* libpng15.a */,
 				8A86535A1B72949F009F94DD /* libPolycore.a */,
@@ -218,14 +207,9 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				6DD2D0B81BEEDCC90026D85C /* white.png in Resources */,
 				8A86533B1B72931C009F94DD /* Images.xcassets in Resources */,
-				8A36D1A31B8CF928009897D0 /* bedlayer_main.wav in Resources */,
-				8A36D1A41B8CF928009897D0 /* curve_02_c.wav in Resources */,
-				8A36D1A61B8CF928009897D0 /* koto_level.wav in Resources */,
-				8A36D1A71B8CF928009897D0 /* marimba-lo.wav in Resources */,
-				8AAA3B4A1BD6D0660078953A /* white.png in Resources */,
 				8A8653961B752DBE009F94DD /* main_icon.png in Resources */,
-				8A36D1A51B8CF928009897D0 /* initial_touch_01.wav in Resources */,
 				8A86533E1B72931C009F94DD /* MainMenu.xib in Resources */,
 				8A8653701B72C431009F94DD /* default.pak in Resources */,
 			);
@@ -354,7 +338,8 @@
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
+					"\"$(SRCROOT)/../../../lib/osx\"",
+					/Users/ivansafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";
@@ -377,7 +362,8 @@
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
-					/Users/isafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
+					"\"$(SRCROOT)/../../../lib/osx\"",
+					/Users/ivansafrin/Desktop/Workshop/PolycodeNoCmake/lib/osx,
 				);
 				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				PRODUCT_NAME = "$(TARGET_NAME)";

+ 9 - 6
build/osx/TemplateApp/TemplateApp/PolycodeTemplateApp.mm

@@ -6,7 +6,7 @@
 
 
 PolycodeTemplateApp::PolycodeTemplateApp(PolycodeView *view) {
-    core = new CocoaCore(view, 1280,720,false,false, 0,0,60);
+    core = new CocoaCore(view, 1280/2,720/2,false,false, 0,0,60, 0, true);
     
     core->addFileSource("archive", "default.pak");
     ResourcePool *globalPool = Services()->getResourceManager()->getGlobalPool();
@@ -19,19 +19,22 @@ PolycodeTemplateApp::PolycodeTemplateApp(PolycodeView *view) {
     
     scene->getDefaultCamera()->setPosition(5.0, 5.0, 5.0);
     scene->getDefaultCamera()->lookAt(Vector3());
+
+    SceneLabel *what = new SceneLabel("Huh?", 12, "mono", Label::ANTIALIAS_FULL, 1.0);
+    scene->addChild(what);
+    what->setPosition(0.0, 2.0, 0.0);
     
     ScenePrimitive *test = new ScenePrimitive(ScenePrimitive::TYPE_BOX, 1.0, 1.0, 1.0);
     test->setMaterialByName("DefaultTextured");
-//    test->getShaderPass(0).shaderBinding->loadTextureForParam("diffuse", "white.png");
-  //  test->getShaderPass(0).shaderBinding->addParam(ProgramParam::PARAM_COLOR, "diffuse_color")->setColor(Color(1.0, 1.0, 1.0, 1.0));
+    //test->getShaderPass(0).shaderBinding->loadTextureForParam("diffuse", "white.png");
+    //test->getShaderPass(0).shaderBinding->addParam(ProgramParam::PARAM_COLOR, "diffuse_color")->setColor(Color(1.0, 1.0, 1.0, 1.0));
     scene->addChild(test);
-    
 
-    SceneLight *light = new SceneLight(SceneLight::POINT_LIGHT, scene, 200.0);
+    SceneLight *light = new SceneLight(SceneLight::POINT_LIGHT, scene, 500.0);
     scene->addLight(light);
     scene->addChild(light);
     light->setPosition(-10.0, 10.0, 10.0);
-    
+
     Services()->getInput()->addEventListener(this, InputEvent::EVENT_KEYDOWN);
 }
 

+ 1 - 5
include/polycode/core/PolyGPUDrawBuffer.h

@@ -70,15 +70,11 @@ namespace Polycode {
     
     class _PolyExport GPUDrawCall {
     public:
-        unsigned int numVertices;
-        unsigned char mode;
-        bool indexed;
-        
+        Mesh *mesh;
         GPUDrawOptions options;
         Matrix4 modelMatrix;
         Material *material;
         std::vector<ShaderPass> shaderPasses;
-        IndexDataArray *indexArray;
     };
     
     class _PolyExport GPUDrawBuffer {

+ 2 - 0
include/polycode/core/PolyRenderer.h

@@ -195,6 +195,8 @@ namespace Polycode {
         Shader *createShader(ShaderProgram *vertexProgram, ShaderProgram *fragmentProgram);
         void createVertexBuffers(Mesh *mesh);
         
+        void setExpectedAttributes(Mesh *mesh, Shader *shader);
+        
         void destroyProgram(ShaderProgram *program);
         void destroyShader(Shader *shader);
         void destroyBuffer(RenderDataArray *array);

+ 1 - 0
include/polycode/core/PolyShader.h

@@ -251,6 +251,7 @@ namespace Polycode {
 			std::vector<RenderTargetBinding*> colorTargetBindings;
 			std::vector<RenderTargetBinding*> depthTargetBindings;
         
+            bool resetAttributes;
             Shader *targetShader;
 	};
 

+ 1 - 1
lib

@@ -1 +1 @@
-Subproject commit a83ac0cf15083f86d5bc5770bcb3ab6cea02d6ef
+Subproject commit 1f45a39574ddda0b22c951c86b01612efda30a43

+ 1 - 3
src/core/PolyMaterial.cpp

@@ -53,11 +53,9 @@ void ShaderPass::setExpectedAttributes(Mesh *mesh) {
     if(!shader || !shaderBinding) {
         return;
     }
-    
     shaderBinding->attributes.clear();
-    
+
     for(int i=0; i < shader->expectedAttributes.size(); i++) {
-        
         VertexDataArray *targetArray = NULL;
         
         if(shader->expectedAttributes[i].name == "position") {

+ 15 - 13
src/core/PolyRenderer.cpp

@@ -128,10 +128,14 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
                 lights[i].shadowEnabled->setNumber(0.0);
             }
         } else {
-            lights[i].diffuse->setColor(Color(0.0, 0.0, 0.0, 1.0));
-            lights[i].specular->setColor(Color(0.0, 0.0, 0.0, 1.0));
+            lights[i].diffuse->setColor(Color(0.0, 0.0, 0.0, 0.0));
+            lights[i].specular->setColor(Color(0.0, 0.0, 0.0, 0.0));
             lights[i].spotCosCutoff->setNumber(180.0);
             lights[i].shadowEnabled->setNumber(0.0);
+            lights[i].constantAttenuation->setNumber(1.0);
+            lights[i].linearAttenuation->setNumber(1.0);
+            lights[i].quadraticAttenuation->setNumber(1.0);
+
         }
     }
     
@@ -214,7 +218,6 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
                                 localParam->param = shaderPass.shader->getParamPointer(localParam->name);
                             }
                             if(localParam->param) {
-                           //     printf("SETTING MATERIAL PARAM: %s\n", localParam->name.c_str());
                                 graphicsInterface->setParamInShader(shaderPass.shader, localParam->param, localParam);
                             }
                         }
@@ -237,16 +240,17 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
                             localParam->param = shaderPass.shader->getParamPointer(localParam->name);
                         }
                         if(localParam->param) {
-                        //    printf("SETTING LOCAL PARAM: %s\n", localParam->name.c_str());
                             graphicsInterface->setParamInShader(shaderPass.shader, localParam->param, localParam);
                         }
                     }
-                    
                 }
                 
-                
+                if(rebindAttributes || localShaderBinding->resetAttributes ) {
+                    buffer->drawCalls[i].shaderPasses[s].setExpectedAttributes(buffer->drawCalls[i].mesh);
+                    localShaderBinding->resetAttributes = false;
+                }
+
                 for(int a=0; a < localShaderBinding->getNumAttributeBindings(); a++) {
-                    
                     AttributeBinding *attributeBinding = localShaderBinding->getAttributeBinding(a);
                     
                     if(attributeBinding) {
@@ -263,7 +267,7 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
                             
                             if(attributeBinding->attribute) {
                                 attributeBinding->enabled = true;
-                                if(attributeBinding->vertexData->data.size() / attributeBinding->vertexData->countPerVertex >= buffer->drawCalls[i].numVertices) {
+                                if(attributeBinding->vertexData->data.size() / attributeBinding->vertexData->countPerVertex >= buffer->drawCalls[i].mesh->getVertexCount()) {
                                     graphicsInterface->setAttributeInShader(shaderPass.shader, attributeBinding->attribute, attributeBinding);
                                 }
                             } else {
@@ -271,13 +275,12 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
                             }
                         }
                     }
-                    
                 }
                 
-                if(buffer->drawCalls[i].indexed) {
-                    graphicsInterface->drawIndices(buffer->drawCalls[i].mode, buffer->drawCalls[i].indexArray);
+                if(buffer->drawCalls[i].mesh->indexedMesh) {
+                    graphicsInterface->drawIndices(buffer->drawCalls[i].mesh->getMeshType(), &buffer->drawCalls[i].mesh->indexArray);
                 } else {
-                    graphicsInterface->drawArrays(buffer->drawCalls[i].mode, buffer->drawCalls[i].numVertices);
+                    graphicsInterface->drawArrays(buffer->drawCalls[i].mesh->getMeshType(), buffer->drawCalls[i].mesh->getVertexCount());
                 }
                 
                 
@@ -532,7 +535,6 @@ void Renderer::destroyBuffer(RenderDataArray *array) {
      renderThread->enqueueJob(RenderThread::JOB_DESTROY_BUFFER, (void*)array);
 }
 
-
 Vector3 Renderer::project(const Vector3 &position, const Matrix4 &modelMatrix, const Matrix4 &projectionMatrix, const Polycode::Rectangle &viewport) {
     
     Vector4 in(position);

+ 3 - 15
src/core/PolySceneMesh.cpp

@@ -103,7 +103,7 @@ void SceneMesh::setMesh(Mesh *mesh) {
 
 void SceneMesh::rebuildAttributes() {
     for(int i=0; i < shaderPasses.size(); i++) {
-        shaderPasses[i].setExpectedAttributes(mesh);
+        shaderPasses[i].shaderBinding->resetAttributes = true;
     }
 }
 
@@ -205,7 +205,7 @@ void SceneMesh::setMaterial(Material *material) {
         shaderPass.shaderBinding = new ShaderBinding();
         shaderPass.shaderBinding->targetShader = shaderPass.shader;
         shaderPass.shaderBinding->addParamPointer(ProgramParam::PARAM_COLOR, "entityColor", &color);
-        shaderPass.setExpectedAttributes(mesh);
+        shaderPass.shaderBinding->resetAttributes = true;
         shaderPasses.push_back(shaderPass);
     }
     
@@ -379,19 +379,7 @@ void SceneMesh::Render(GPUDrawBuffer *buffer) {
     drawCall.options.depthTest = depthTest;
     drawCall.options.depthWrite = depthWrite;
 
-    drawCall.mode = mesh->getMeshType();
-    
-    
-    drawCall.numVertices = mesh->getVertexCount();
-    
-    if(mesh->indexedMesh) {
-        drawCall.indexed = true;
-        drawCall.indexArray = &mesh->indexArray;
-    } else {
-        drawCall.indexed = false;
-    }
-    
-    
+    drawCall.mesh = mesh;
     drawCall.material = material;
     drawCall.shaderPasses = shaderPasses;
     

+ 2 - 11
src/modules/ui/PolyUIElement.cpp

@@ -327,7 +327,7 @@ void UIRect::setMaterial(Material *material) {
     shaderPasses.push_back(pass);
     
     shaderPasses[0].shaderBinding->addParamPointer(ProgramParam::PARAM_COLOR, "entityColor", &color);
-    shaderPasses[0].setExpectedAttributes(rectMesh);
+    shaderPasses[0].shaderBinding->resetAttributes = true;
 }
 
 Texture *UIRect::getTexture() {
@@ -339,16 +339,7 @@ void UIRect::Render(GPUDrawBuffer *buffer) {
     drawCall.options.depthTest = depthTest;
     drawCall.options.depthWrite = depthWrite;
     
-    drawCall.mode = rectMesh->getMeshType();
-    drawCall.numVertices = rectMesh->getVertexCount();
-    
-    if(rectMesh->indexedMesh) {
-        drawCall.indexed = true;
-        drawCall.indexArray = &rectMesh->indexArray;
-    } else {
-        drawCall.indexed = false;
-    }
-    
+    drawCall.mesh = rectMesh;
     drawCall.material = material;
     drawCall.shaderPasses = shaderPasses;