* Sorting ID now reset properly when shader or texture changed
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7377 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
b5a8080f61
commit
3ed2824cc3
@ -377,9 +377,9 @@ public class Material implements Cloneable, Savable, Comparable<Material> {
|
||||
name = checkSetParam(null, name);
|
||||
|
||||
MatParamTexture val = getTextureParam(name);
|
||||
if (val == null) {
|
||||
if (val == null)
|
||||
throw new IllegalArgumentException("The given texture parameter is not set.");
|
||||
} else {
|
||||
|
||||
int texUnit = val.getUnit();
|
||||
paramValues.remove(name);
|
||||
nextTexUnit--;
|
||||
@ -391,7 +391,8 @@ public class Material implements Cloneable, Savable, Comparable<Material> {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sortingId = -1;
|
||||
}
|
||||
|
||||
public void setTextureParam(String name, VarType type, Texture value) {
|
||||
@ -410,6 +411,9 @@ public class Material implements Cloneable, Savable, Comparable<Material> {
|
||||
if (technique != null) {
|
||||
technique.notifySetParam(name, type, nextTexUnit - 1);
|
||||
}
|
||||
|
||||
// need to recompute sort ID
|
||||
sortingId = -1;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -547,8 +551,7 @@ public class Material implements Cloneable, Savable, Comparable<Material> {
|
||||
* @param lightList
|
||||
*/
|
||||
protected void updateLightListUniforms(Shader shader, Geometry g, int numLights) {
|
||||
if (numLights == 0) // this shader does not do lighting, ignore.
|
||||
{
|
||||
if (numLights == 0){ // this shader does not do lighting, ignore.
|
||||
return;
|
||||
}
|
||||
|
||||
@ -732,6 +735,9 @@ public class Material implements Cloneable, Savable, Comparable<Material> {
|
||||
|
||||
technique = tech;
|
||||
tech.makeCurrent(def.getAssetManager());
|
||||
|
||||
// shader was changed
|
||||
sortingId = -1;
|
||||
}
|
||||
|
||||
private void autoSelectTechnique(RenderManager rm) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user