Add render filter
This commit is contained in:
parent
b14bb34176
commit
c91b2dd3f0
@ -57,6 +57,7 @@ import com.jme3.util.SafeArrayList;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -90,7 +91,15 @@ public class RenderManager {
|
|||||||
private LightFilter lightFilter = new DefaultLightFilter();
|
private LightFilter lightFilter = new DefaultLightFilter();
|
||||||
private TechniqueDef.LightMode preferredLightMode = TechniqueDef.LightMode.MultiPass;
|
private TechniqueDef.LightMode preferredLightMode = TechniqueDef.LightMode.MultiPass;
|
||||||
private int singlePassLightBatchSize = 1;
|
private int singlePassLightBatchSize = 1;
|
||||||
|
private Function<Geometry,Boolean> renderFilter;
|
||||||
|
|
||||||
|
public void setRenderFilter(Function<Geometry,Boolean> filter){
|
||||||
|
renderFilter=filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Function<Geometry,Boolean> getRenderFilter(){
|
||||||
|
return renderFilter;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a high-level rendering interface over the
|
* Create a high-level rendering interface over the
|
||||||
@ -557,6 +566,7 @@ public class RenderManager {
|
|||||||
* @see com.jme3.material.Material#render(com.jme3.scene.Geometry, com.jme3.renderer.RenderManager)
|
* @see com.jme3.material.Material#render(com.jme3.scene.Geometry, com.jme3.renderer.RenderManager)
|
||||||
*/
|
*/
|
||||||
public void renderGeometry(Geometry geom) {
|
public void renderGeometry(Geometry geom) {
|
||||||
|
if(renderFilter!=null&&!renderFilter.apply(geom))return;
|
||||||
if (geom.isIgnoreTransform()) {
|
if (geom.isIgnoreTransform()) {
|
||||||
setWorldMatrix(Matrix4f.IDENTITY);
|
setWorldMatrix(Matrix4f.IDENTITY);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user