Browse Source

refactoring

Panagiotis Christopoulos Charitos 15 years ago
parent
commit
81eb0da72c

+ 2 - 2
src/Main.cpp

@@ -139,9 +139,9 @@ void init()
 	spot_lights[0] = new SpotLight();
 	spot_lights[0]->init("maps/temple/light2.light");
 	spot_lights[0]->setLocalTransform(Transform(Vec3(1.3, 4.3, 3.0), Mat3(Euler(toRad(-20), toRad(20), 0.0)), 1.0));
-	/*spot_lights[1] = new SpotLight();
+	spot_lights[1] = new SpotLight();
 	spot_lights[1]->init("maps/temple/light3.light");
-	spot_lights[1]->setLocalTransform(Transform(Vec3(-2.3, 6.3, 2.9), Mat3(Euler(toRad(-70), toRad(-20), 0.0)), 1.0));*/
+	spot_lights[1]->setLocalTransform(Transform(Vec3(-2.3, 6.3, 2.9), Mat3(Euler(toRad(-70), toRad(-20), 0.0)), 1.0));
 
 
 	// horse

+ 1 - 1
src/Renderer/Dbg.cpp

@@ -421,7 +421,7 @@ void Dbg::end()
 	colorsVbo.write(&colors[0], 0, sizeof(Vec3) * pointIndex);
 
 	Mat4 pmv = r.getViewProjectionMat() * modelMat;
-	sProg->findUniVar("modelViewProjectionMat")->setMat4(&pmv);
+	sProg->findUniVar("modelViewProjectionMat")->set(&pmv);
 
 	vao.bind();
 	glDrawArrays(GL_LINES, 0, pointIndex);

+ 25 - 25
src/Renderer/Drawers/SceneDrawer.cpp

@@ -26,29 +26,29 @@ SceneDrawer::UsrDefVarVisitor::UsrDefVarVisitor(const MtlUserDefinedVarRuntime&
 
 void SceneDrawer::UsrDefVarVisitor::operator()(float x) const
 {
-	udvr.getUniVar().setFloat(x);
+	udvr.getUniVar().set(&x);
 }
 
 void SceneDrawer::UsrDefVarVisitor::operator()(const Vec2& x) const
 {
-	udvr.getUniVar().setVec2(&x);
+	udvr.getUniVar().set(&x);
 }
 
 void SceneDrawer::UsrDefVarVisitor::operator()(const Vec3& x) const
 {
-	udvr.getUniVar().setVec3(&x);
+	udvr.getUniVar().set(&x);
 }
 
 void SceneDrawer::UsrDefVarVisitor::operator()(const Vec4& x) const
 {
-	udvr.getUniVar().setVec4(&x);
+	udvr.getUniVar().set(&x);
 }
 
 void SceneDrawer::UsrDefVarVisitor::operator()(const RsrcPtr<Texture>* x) const
 {
 	const RsrcPtr<Texture>& texPtr = *x;
 	texPtr->setRepeat(true);
-	udvr.getUniVar().setTexture(*texPtr, texUnit);
+	udvr.getUniVar().set(*texPtr, texUnit);
 	++texUnit;
 }
 
@@ -57,16 +57,16 @@ void SceneDrawer::UsrDefVarVisitor::operator()(MtlUserDefinedVar::Fai x) const
 	switch(x)
 	{
 		case MtlUserDefinedVar::MS_DEPTH_FAI:
-			udvr.getUniVar().setTexture(r.getMs().getDepthFai(), texUnit);
+			udvr.getUniVar().set(r.getMs().getDepthFai(), texUnit);
 			break;
 		case MtlUserDefinedVar::IS_FAI:
-			udvr.getUniVar().setTexture(r.getIs().getFai(), texUnit);
+			udvr.getUniVar().set(r.getIs().getFai(), texUnit);
 			break;
 		case MtlUserDefinedVar::PPS_PRE_PASS_FAI:
-			udvr.getUniVar().setTexture(r.getPps().getPrePassFai(), texUnit);
+			udvr.getUniVar().set(r.getPps().getPrePassFai(), texUnit);
 			break;
 		case MtlUserDefinedVar::PPS_POST_PASS_FAI:
-			udvr.getUniVar().setTexture(r.getPps().getPostPassFai(), texUnit);
+			udvr.getUniVar().set(r.getPps().getPostPassFai(), texUnit);
 			break;
 		default:
 			ASSERT(0);
@@ -142,39 +142,39 @@ void SceneDrawer::setupShaderProg(const MaterialRuntime& mtlr, const Transform&
 	// set matrices
 	if(mtl.getStdUniVar(Material::SUV_MODEL_MAT))
 	{
-		mtl.getStdUniVar(Material::SUV_MODEL_MAT)->setMat4(&modelMat);
+		mtl.getStdUniVar(Material::SUV_MODEL_MAT)->set(&modelMat);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_VIEW_MAT))
 	{
-		mtl.getStdUniVar(Material::SUV_VIEW_MAT)->setMat4(&viewMat);
+		mtl.getStdUniVar(Material::SUV_VIEW_MAT)->set(&viewMat);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_PROJECTION_MAT))
 	{
-		mtl.getStdUniVar(Material::SUV_PROJECTION_MAT)->setMat4(&projectionMat);
+		mtl.getStdUniVar(Material::SUV_PROJECTION_MAT)->set(&projectionMat);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_MODELVIEW_MAT))
 	{
-		mtl.getStdUniVar(Material::SUV_MODELVIEW_MAT)->setMat4(&modelViewMat);
+		mtl.getStdUniVar(Material::SUV_MODELVIEW_MAT)->set(&modelViewMat);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_VIEWPROJECTION_MAT))
 	{
-		mtl.getStdUniVar(Material::SUV_VIEWPROJECTION_MAT)->setMat4(&r.getViewProjectionMat());
+		mtl.getStdUniVar(Material::SUV_VIEWPROJECTION_MAT)->set(&r.getViewProjectionMat());
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_NORMAL_MAT))
 	{
 		normalMat = modelViewMat.getRotationPart();
-		mtl.getStdUniVar(Material::SUV_NORMAL_MAT)->setMat3(&normalMat);
+		mtl.getStdUniVar(Material::SUV_NORMAL_MAT)->set(&normalMat);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_MODELVIEWPROJECTION_MAT))
 	{
 		modelViewProjectionMat = projectionMat * modelViewMat;
-		mtl.getStdUniVar(Material::SUV_MODELVIEWPROJECTION_MAT)->setMat4(&modelViewProjectionMat);
+		mtl.getStdUniVar(Material::SUV_MODELVIEWPROJECTION_MAT)->set(&modelViewProjectionMat);
 	}
 
 
@@ -183,37 +183,37 @@ void SceneDrawer::setupShaderProg(const MaterialRuntime& mtlr, const Transform&
 	//
 	if(mtl.getStdUniVar(Material::SUV_MS_NORMAL_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_MS_NORMAL_FAI)->setTexture(r.getMs().getNormalFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_MS_NORMAL_FAI)->set(r.getMs().getNormalFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_MS_DIFFUSE_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_MS_DIFFUSE_FAI)->setTexture(r.getMs().getDiffuseFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_MS_DIFFUSE_FAI)->set(r.getMs().getDiffuseFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_MS_SPECULAR_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_MS_SPECULAR_FAI)->setTexture(r.getMs().getSpecularFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_MS_SPECULAR_FAI)->set(r.getMs().getSpecularFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_MS_DEPTH_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_MS_DEPTH_FAI)->setTexture(r.getMs().getDepthFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_MS_DEPTH_FAI)->set(r.getMs().getDepthFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_IS_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_IS_FAI)->setTexture(r.getIs().getFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_IS_FAI)->set(r.getIs().getFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_PPS_PRE_PASS_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_PPS_PRE_PASS_FAI)->setTexture(r.getPps().getPrePassFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_PPS_PRE_PASS_FAI)->set(r.getPps().getPrePassFai(), textureUnit++);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_PPS_POST_PASS_FAI))
 	{
-		mtl.getStdUniVar(Material::SUV_PPS_POST_PASS_FAI)->setTexture(r.getPps().getPostPassFai(), textureUnit++);
+		mtl.getStdUniVar(Material::SUV_PPS_POST_PASS_FAI)->set(r.getPps().getPostPassFai(), textureUnit++);
 	}
 
 
@@ -223,13 +223,13 @@ void SceneDrawer::setupShaderProg(const MaterialRuntime& mtlr, const Transform&
 	if(mtl.getStdUniVar(Material::SUV_RENDERER_SIZE))
 	{
 		Vec2 v(r.getWidth(), r.getHeight());
-		mtl.getStdUniVar(Material::SUV_RENDERER_SIZE)->setVec2(&v);
+		mtl.getStdUniVar(Material::SUV_RENDERER_SIZE)->set(&v);
 	}
 
 	if(mtl.getStdUniVar(Material::SUV_SCENE_AMBIENT_COLOR))
 	{
 		Vec3 col(SceneSingleton::getInstance().getAmbientCol());
-		mtl.getStdUniVar(Material::SUV_SCENE_AMBIENT_COLOR)->setVec3(&col);
+		mtl.getStdUniVar(Material::SUV_SCENE_AMBIENT_COLOR)->set(&col);
 	}
 
 

+ 13 - 9
src/Renderer/Hdr.cpp

@@ -95,8 +95,8 @@ void Hdr::run()
 	// pass 0
 	toneFbo.bind();
 	toneSProg->bind();
-	toneSProg->findUniVar("exposure")->setFloat(exposure);
-	toneSProg->findUniVar("fai")->setTexture(r.getPps().getPrePassFai(), 0);
+	toneSProg->findUniVar("exposure")->set(&exposure);
+	toneSProg->findUniVar("fai")->set(r.getPps().getPrePassFai(), 0);
 	r.drawQuad();
 
 
@@ -110,22 +110,26 @@ void Hdr::run()
 		hblurSProg->bind();
 		if(i == 0)
 		{
-			hblurSProg->findUniVar("img")->setTexture(toneFai, 0);
+			hblurSProg->findUniVar("img")->set(toneFai, 0);
 		}
 		else
 		{
-			hblurSProg->findUniVar("img")->setTexture(fai, 0);
+			hblurSProg->findUniVar("img")->set(fai, 0);
 		}
-		hblurSProg->findUniVar("imgDimension")->setFloat(w);
-		hblurSProg->findUniVar("blurringDist")->setFloat(blurringDist / w);
+		float tmp = float(w);
+		hblurSProg->findUniVar("imgDimension")->set(&tmp);
+		tmp = blurringDist / w;
+		hblurSProg->findUniVar("blurringDist")->set(&tmp);
 		r.drawQuad();
 
 		// vpass
 		vblurFbo.bind();
 		vblurSProg->bind();
-		vblurSProg->findUniVar("img")->setTexture(hblurFai, 0);
-		vblurSProg->findUniVar("imgDimension")->setFloat(h);
-		vblurSProg->findUniVar("blurringDist")->setFloat(blurringDist / h);
+		vblurSProg->findUniVar("img")->set(hblurFai, 0);
+		tmp = float(h);
+		vblurSProg->findUniVar("imgDimension")->set(&tmp);
+		tmp = blurringDist / h;
+		vblurSProg->findUniVar("blurringDist")->set(&tmp);
 		r.drawQuad();
 	}
 

+ 24 - 23
src/Renderer/Is.cpp

@@ -193,8 +193,8 @@ void Is::ambientPass(const Vec3& color)
 	ambientPassSProg->bind();
 
 	// set the uniforms
-	ambientPassSProg->findUniVar("ambientCol")->setVec3(&color);
-	ambientPassSProg->findUniVar("sceneColMap")->setTexture(r.getMs().getDiffuseFai(), 0);
+	ambientPassSProg->findUniVar("ambientCol")->set(&color);
+	ambientPassSProg->findUniVar("sceneColMap")->set(r.getMs().getDiffuseFai(), 0);
 
 	// Draw quad
 	r.drawQuad();
@@ -215,16 +215,16 @@ void Is::pointLightPass(const PointLight& light)
 	const ShaderProg& shader = *pointLightSProg; // ensure the const-ness
 	shader.bind();
 
-	shader.findUniVar("msNormalFai")->setTexture(r.getMs().getNormalFai(), 0);
-	shader.findUniVar("msDiffuseFai")->setTexture(r.getMs().getDiffuseFai(), 1);
-	shader.findUniVar("msSpecularFai")->setTexture(r.getMs().getSpecularFai(), 2);
-	shader.findUniVar("msDepthFai")->setTexture(r.getMs().getDepthFai(), 3);
-	shader.findUniVar("planes")->setVec2(&planes);
+	shader.findUniVar("msNormalFai")->set(r.getMs().getNormalFai(), 0);
+	shader.findUniVar("msDiffuseFai")->set(r.getMs().getDiffuseFai(), 1);
+	shader.findUniVar("msSpecularFai")->set(r.getMs().getSpecularFai(), 2);
+	shader.findUniVar("msDepthFai")->set(r.getMs().getDepthFai(), 3);
+	shader.findUniVar("planes")->set(&planes);
 	Vec3 lightPosEyeSpace = light.getWorldTransform().getOrigin().getTransformed(cam.getViewMatrix());
-	shader.findUniVar("lightPos")->setVec3(&lightPosEyeSpace);
-	shader.findUniVar("lightRadius")->setFloat(light.getRadius());
-	shader.findUniVar("lightDiffuseCol")->setVec3(&light.getDiffuseCol());
-	shader.findUniVar("lightSpecularCol")->setVec3(&light.getSpecularCol());
+	shader.findUniVar("lightPos")->set(&lightPosEyeSpace);
+	shader.findUniVar("lightRadius")->set(&light.getRadius());
+	shader.findUniVar("lightDiffuseCol")->set(&light.getDiffuseCol());
+	shader.findUniVar("lightSpecularCol")->set(&light.getSpecularCol());
 
 	// render quad
 	drawLightPassQuad();
@@ -274,21 +274,22 @@ void Is::spotLightPass(const SpotLight& light)
 	shdr->bind();
 
 	// bind the FAIs
-	shdr->findUniVar("msNormalFai")->setTexture(r.getMs().getNormalFai(), 0);
-	shdr->findUniVar("msDiffuseFai")->setTexture(r.getMs().getDiffuseFai(), 1);
-	shdr->findUniVar("msSpecularFai")->setTexture(r.getMs().getSpecularFai(), 2);
-	shdr->findUniVar("msDepthFai")->setTexture(r.getMs().getDepthFai(), 3);
+	shdr->findUniVar("msNormalFai")->set(r.getMs().getNormalFai(), 0);
+	shdr->findUniVar("msDiffuseFai")->set(r.getMs().getDiffuseFai(), 1);
+	shdr->findUniVar("msSpecularFai")->set(r.getMs().getSpecularFai(), 2);
+	shdr->findUniVar("msDepthFai")->set(r.getMs().getDepthFai(), 3);
 
 	// the planes
-	shdr->findUniVar("planes")->setVec2(&planes);
+	shdr->findUniVar("planes")->set(&planes);
 
 	// the light params
 	Vec3 lightPosEyeSpace = light.getWorldTransform().getOrigin().getTransformed(cam.getViewMatrix());
-	shdr->findUniVar("lightPos")->setVec3(&lightPosEyeSpace);
-	shdr->findUniVar("lightRadius")->setFloat(light.getDistance());
-	shdr->findUniVar("lightDiffuseCol")->setVec3(&light.getDiffuseCol());
-	shdr->findUniVar("lightSpecularCol")->setVec3(&light.getSpecularCol());
-	shdr->findUniVar("lightTex")->setTexture(light.getTexture(), 4);
+	shdr->findUniVar("lightPos")->set(&lightPosEyeSpace);
+	float tmp = light.getDistance();
+	shdr->findUniVar("lightRadius")->set(&tmp);
+	shdr->findUniVar("lightDiffuseCol")->set(&light.getDiffuseCol());
+	shdr->findUniVar("lightSpecularCol")->set(&light.getSpecularCol());
+	shdr->findUniVar("lightTex")->set(light.getTexture(), 4);
 
 	// set texture matrix for texture & shadowmap projection
 	// Bias * P_light * V_light * inv(V_cam)
@@ -296,12 +297,12 @@ void Is::spotLightPass(const SpotLight& light)
 	Mat4 texProjectionMat;
 	texProjectionMat = biasMat4 * light.getCamera().getProjectionMatrix() *
 	                   Mat4::combineTransformations(light.getCamera().getViewMatrix(), Mat4(cam.getWorldTransform()));
-	shdr->findUniVar("texProjectionMat")->setMat4(&texProjectionMat);
+	shdr->findUniVar("texProjectionMat")->set(&texProjectionMat);
 
 	// the shadowmap
 	if(light.castsShadow() && sm.isEnabled())
 	{
-		shdr->findUniVar("shadowMap")->setTexture(sm.shadowMap, 5);
+		shdr->findUniVar("shadowMap")->set(sm.shadowMap, 5);
 	}
 
 	// render quad

+ 1 - 1
src/Renderer/MainRenderer.cpp

@@ -101,7 +101,7 @@ void MainRenderer::render(Camera& cam_)
 	glDisable(GL_BLEND);
 	sProg->bind();
 	//sProg->findUniVar("rasterImage")->setTexture(ms.getNormalFai(), 0);
-	sProg->findUniVar("rasterImage")->setTexture(pps.getPostPassFai(), 0);
+	sProg->findUniVar("rasterImage")->set(pps.getPostPassFai(), 0);
 	drawQuad();
 }
 

+ 4 - 4
src/Renderer/Pps.cpp

@@ -123,11 +123,11 @@ void Pps::runPrePass()
 	Renderer::setViewport(0, 0, r.getWidth(), r.getHeight());
 
 	prePassSProg->bind();
-	prePassSProg->findUniVar("isFai")->setTexture(r.getIs().getFai(), 0);
+	prePassSProg->findUniVar("isFai")->set(r.getIs().getFai(), 0);
 
 	if(ssao.isEnabled())
 	{
-		prePassSProg->findUniVar("ppsSsaoFai")->setTexture(ssao.getFai(), 1);
+		prePassSProg->findUniVar("ppsSsaoFai")->set(ssao.getFai(), 1);
 	}
 
 	r.drawQuad();
@@ -153,11 +153,11 @@ void Pps::runPostPass()
 	Renderer::setViewport(0, 0, r.getWidth(), r.getHeight());
 
 	postPassSProg->bind();
-	postPassSProg->findUniVar("ppsPrePassFai")->setTexture(prePassFai, 0);
+	postPassSProg->findUniVar("ppsPrePassFai")->set(prePassFai, 0);
 
 	if(hdr.isEnabled())
 	{
-		postPassSProg->findUniVar("ppsHdrFai")->setTexture(hdr.getFai(), 1);
+		postPassSProg->findUniVar("ppsHdrFai")->set(hdr.getFai(), 1);
 	}
 
 	r.drawQuad();

+ 4 - 4
src/Renderer/SkinsDeformer.cpp

@@ -52,11 +52,11 @@ void SkinsDeformer::deform(SkinPatchNode& node)
 	tfHwSkinningAllSProg->bind();
 
 	// Uniforms
-	tfHwSkinningAllSProg->findUniVar("skinningRotations")->setMat3(&skinNode->getBoneRotations()[0],
-	                                                               skinNode->getBoneRotations().size());
+	tfHwSkinningAllSProg->findUniVar("skinningRotations")->set(&skinNode->getBoneRotations()[0],
+	                                                           skinNode->getBoneRotations().size());
 
-	tfHwSkinningAllSProg->findUniVar("skinningTranslations")->setVec3(&skinNode->getBoneTranslations()[0],
-	                                                                  skinNode->getBoneTranslations().size());
+	tfHwSkinningAllSProg->findUniVar("skinningTranslations")->set(&skinNode->getBoneTranslations()[0],
+	                                                              skinNode->getBoneTranslations().size());
 
 	// TF
 	glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, node.getTfVbo(SkinPatchNode::TFV_POSITIONS).getGlId());

+ 2 - 2
src/Renderer/Smo.cpp

@@ -83,7 +83,7 @@ void Smo::run(const PointLight& light)
 	sProg->bind();
 	Mat4 modelMat = Mat4(light.getWorldTransform().getOrigin(), Mat3::getIdentity(), light.getRadius() * scale);
 	Mat4 trf = r.getViewProjectionMat() * modelMat;
-	sProg->findUniVar("modelViewProjectionMat")->setMat4(&trf);
+	sProg->findUniVar("modelViewProjectionMat")->set(&trf);
 
 	// render sphere to the stencil buffer
 	sphereVao.bind();
@@ -124,7 +124,7 @@ void Smo::run(const SpotLight& light)
 	Mat4 modelMat = Mat4(lcam.getWorldTransform());
 
 	Mat4 trf = r.getViewProjectionMat() * modelMat * scaleMat;
-	sProg->findUniVar("modelViewProjectionMat")->setMat4(&trf);
+	sProg->findUniVar("modelViewProjectionMat")->set(&trf);
 
 	//
 	// Render

+ 11 - 9
src/Renderer/Ssao.cpp

@@ -119,10 +119,10 @@ void Ssao::run()
 	ssaoFbo.bind();
 	ssaoSProg->bind();
 	Vec2 camRange(cam.getZNear(), cam.getZFar());
-	ssaoSProg->findUniVar("camerarange")->setVec2(&camRange);
-	ssaoSProg->findUniVar("msDepthFai")->setTexture(r.getMs().getDepthFai(), 0);
-	ssaoSProg->findUniVar("noiseMap")->setTexture(*noiseMap, 1);
-	ssaoSProg->findUniVar("msNormalFai")->setTexture(r.getMs().getNormalFai(), 2);
+	ssaoSProg->findUniVar("camerarange")->set(&camRange);
+	ssaoSProg->findUniVar("msDepthFai")->set(r.getMs().getDepthFai(), 0);
+	ssaoSProg->findUniVar("noiseMap")->set(*noiseMap, 1);
+	ssaoSProg->findUniVar("msNormalFai")->set(r.getMs().getNormalFai(), 2);
 	r.drawQuad();
 
 
@@ -136,20 +136,22 @@ void Ssao::run()
 		hblurSProg->bind();
 		if(i == 0)
 		{
-			hblurSProg->findUniVar("img")->setTexture(ssaoFai, 0);
+			hblurSProg->findUniVar("img")->set(ssaoFai, 0);
 		}
 		else
 		{
-			hblurSProg->findUniVar("img")->setTexture(fai, 0);
+			hblurSProg->findUniVar("img")->set(fai, 0);
 		}
-		hblurSProg->findUniVar("imgDimension")->setFloat(width);
+		float tmp = width;
+		hblurSProg->findUniVar("imgDimension")->set(&tmp);
 		r.drawQuad();
 
 		// vpass
 		vblurFbo.bind();
 		vblurSProg->bind();
-		vblurSProg->findUniVar("img")->setTexture(hblurFai, 0);
-		vblurSProg->findUniVar("imgDimension")->setFloat(height);
+		vblurSProg->findUniVar("img")->set(hblurFai, 0);
+		tmp = height;
+		vblurSProg->findUniVar("imgDimension")->set(&tmp);
 		r.drawQuad();
 	}
 

+ 2 - 2
src/Resources/Core/ResourceManager.cpp

@@ -74,13 +74,13 @@ void ResourceManager::allocAndLoadRsrc(const char* filename, Texture*& ptr)
 	if(dummyTex.get() == NULL)
 	{
 		dummyTex.reset(new Texture);
-		dummyTex->load("gfx/dummy.png");
+		dummyTex->load("engine-rsrc/dummy.png");
 	}
 	
 	if(dummyNormTex.get() == NULL)
 	{
 		dummyNormTex.reset(new Texture);
-		dummyNormTex->load("gfx/dummy.norm.png");
+		dummyNormTex->load("engine-rsrc/dummy.norm.png");
 	}
 
 	// Send a loading request

+ 15 - 14
src/Resources/ShaderProg/SProgUniVar.cpp

@@ -16,56 +16,57 @@
 	ASSERT(glGetUniformLocation(getFatherSProg().getGlId(), getName().c_str()) == getLoc());
 
 
-void SProgUniVar::setFloat(float f) const
+void SProgUniVar::set(const float f[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT);
-	glUniform1f(getLoc(), f);
-}
 
-void SProgUniVar::setFloatVec(float f[], uint size) const
-{
-	STD_SET_UNI_CHECK();
-	ASSERT(getGlDataType() == GL_FLOAT);
-	glUniform1fv(getLoc(), size, f);
+	if(size == 1)
+	{
+		glUniform1f(getLoc(), f[0]);
+	}
+	else
+	{
+		glUniform1fv(getLoc(), size, f);
+	}
 }
 
-void SProgUniVar::setVec2(const Vec2 v2[], uint size) const
+void SProgUniVar::set(const Vec2 v2[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT_VEC2);
 	glUniform2fv(getLoc(), size, &(const_cast<Vec2&>(v2[0]))[0]);
 }
 
-void SProgUniVar::setVec3(const Vec3 v3[], uint size) const
+void SProgUniVar::set(const Vec3 v3[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT_VEC3);
 	glUniform3fv(getLoc(), size, &(const_cast<Vec3&>(v3[0]))[0]);
 }
 
-void SProgUniVar::setVec4(const Vec4 v4[], uint size) const
+void SProgUniVar::set(const Vec4 v4[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT_VEC4);
 	glUniform4fv(getLoc(), size, &(const_cast<Vec4&>(v4[0]))[0]);
 }
 
-void SProgUniVar::setMat3(const Mat3 m3[], uint size) const
+void SProgUniVar::set(const Mat3 m3[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT_MAT3);
 	glUniformMatrix3fv(getLoc(), size, true, &(m3[0])[0]);
 }
 
-void SProgUniVar::setMat4(const Mat4 m4[], uint size) const
+void SProgUniVar::set(const Mat4 m4[], uint size) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_FLOAT_MAT4);
 	glUniformMatrix4fv(getLoc(), size, true, &(m4[0])[0]);
 }
 
-void SProgUniVar::setTexture(const Texture& tex, uint texUnit) const
+void SProgUniVar::set(const Texture& tex, uint texUnit) const
 {
 	STD_SET_UNI_CHECK();
 	ASSERT(getGlDataType() == GL_SAMPLER_2D || getGlDataType() == GL_SAMPLER_2D_SHADOW);

+ 7 - 8
src/Resources/ShaderProg/SProgUniVar.h

@@ -16,14 +16,13 @@ class SProgUniVar: public SProgVar
 
 		/// @name Set the var
 		/// @{
-		void setFloat(float f) const;
-		void setFloatVec(float f[], uint size = 1) const;
-		void setVec2(const Vec2 v2[], uint size = 1) const;
-		void setVec3(const Vec3 v3[], uint size = 1) const;
-		void setVec4(const Vec4 v4[], uint size = 1) const;
-		void setMat3(const Mat3 m3[], uint size = 1) const;
-		void setMat4(const Mat4 m4[], uint size = 1) const;
-		void setTexture(const Texture& tex, uint texUnit) const;
+		void set(const float f[], uint size = 1) const;
+		void set(const Vec2 v2[], uint size = 1) const;
+		void set(const Vec3 v3[], uint size = 1) const;
+		void set(const Vec4 v4[], uint size = 1) const;
+		void set(const Mat3 m3[], uint size = 1) const;
+		void set(const Mat4 m4[], uint size = 1) const;
+		void set(const Texture& tex, uint texUnit) const;
 		/// @}
 };