Obsolete shadowRecv and sceneReceivers code cleanup
This commit is contained in:
parent
f0998d14d0
commit
8c37778749
jme3-core/src/main/java/com/jme3
@ -50,7 +50,6 @@ public class RenderQueue {
|
|||||||
private GeometryList transparentList;
|
private GeometryList transparentList;
|
||||||
private GeometryList translucentList;
|
private GeometryList translucentList;
|
||||||
private GeometryList skyList;
|
private GeometryList skyList;
|
||||||
private GeometryList shadowRecv;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new RenderQueue, the default {@link GeometryComparator comparators}
|
* Creates a new RenderQueue, the default {@link GeometryComparator comparators}
|
||||||
@ -62,7 +61,6 @@ public class RenderQueue {
|
|||||||
this.transparentList = new GeometryList(new TransparentComparator());
|
this.transparentList = new GeometryList(new TransparentComparator());
|
||||||
this.translucentList = new GeometryList(new TransparentComparator());
|
this.translucentList = new GeometryList(new TransparentComparator());
|
||||||
this.skyList = new GeometryList(new NullComparator());
|
this.skyList = new GeometryList(new NullComparator());
|
||||||
this.shadowRecv = new GeometryList(new OpaqueComparator());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -259,21 +257,6 @@ public class RenderQueue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param shadBucket The shadow mode to retrieve the {@link GeometryList
|
|
||||||
* queue content} for. Only {@link ShadowMode#Receive Receive} is valid.
|
|
||||||
* @return The cast or receive {@link GeometryList}
|
|
||||||
*/
|
|
||||||
public GeometryList getShadowQueueContent(ShadowMode shadBucket) {
|
|
||||||
switch (shadBucket) {
|
|
||||||
case Receive:
|
|
||||||
return shadowRecv;
|
|
||||||
default:
|
|
||||||
throw new IllegalArgumentException("Only Cast or Receive are allowed");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void renderGeometryList(GeometryList list, RenderManager rm, Camera cam, boolean clear) {
|
private void renderGeometryList(GeometryList list, RenderManager rm, Camera cam, boolean clear) {
|
||||||
list.setCamera(cam); // select camera for sorting
|
list.setCamera(cam); // select camera for sorting
|
||||||
list.sort();
|
list.sort();
|
||||||
@ -342,6 +325,5 @@ public class RenderQueue {
|
|||||||
transparentList.clear();
|
transparentList.clear();
|
||||||
translucentList.clear();
|
translucentList.clear();
|
||||||
skyList.clear();
|
skyList.clear();
|
||||||
shadowRecv.clear();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,24 +206,18 @@ public abstract class AbstractShadowFilter<T extends AbstractShadowRenderer> ext
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns true if the PssmRenderer flushed the shadow queues
|
* isFlushQueues does nothing and is kept only for backward compatibility
|
||||||
*
|
|
||||||
* @return flushQueues
|
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean isFlushQueues() {
|
public boolean isFlushQueues() {
|
||||||
return shadowRenderer.isFlushQueues();
|
return shadowRenderer.isFlushQueues();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to false if you want to use several PssmRederers to have
|
* setFlushQueues does nothing now and is kept only for backward compatibility
|
||||||
* multiple shadows cast by multiple light sources. Make sure the last
|
|
||||||
* PssmRenderer in the stack DO flush the queues, but not the others
|
|
||||||
*
|
|
||||||
* @param flushQueues
|
|
||||||
*/
|
*/
|
||||||
public void setFlushQueues(boolean flushQueues) {
|
@Deprecated
|
||||||
shadowRenderer.setFlushQueues(flushQueues);
|
public void setFlushQueues(boolean flushQueues) {}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets the shadow compare mode see {@link CompareMode} for more info
|
* sets the shadow compare mode see {@link CompareMode} for more info
|
||||||
|
@ -92,7 +92,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
protected EdgeFilteringMode edgeFilteringMode = EdgeFilteringMode.Bilinear;
|
protected EdgeFilteringMode edgeFilteringMode = EdgeFilteringMode.Bilinear;
|
||||||
protected CompareMode shadowCompareMode = CompareMode.Hardware;
|
protected CompareMode shadowCompareMode = CompareMode.Hardware;
|
||||||
protected Picture[] dispPic;
|
protected Picture[] dispPic;
|
||||||
protected boolean flushQueues = true;
|
|
||||||
/**
|
/**
|
||||||
* true if the fallback material should be used, otherwise false
|
* true if the fallback material should be used, otherwise false
|
||||||
*/
|
*/
|
||||||
@ -105,7 +104,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
* list of materials for post shadow queue geometries
|
* list of materials for post shadow queue geometries
|
||||||
*/
|
*/
|
||||||
protected List<Material> matCache = new ArrayList<Material>();
|
protected List<Material> matCache = new ArrayList<Material>();
|
||||||
protected GeometryList sceneReceivers;
|
|
||||||
protected GeometryList lightReceivers = new GeometryList(new OpaqueComparator());
|
protected GeometryList lightReceivers = new GeometryList(new OpaqueComparator());
|
||||||
protected GeometryList shadowMapOccluders = new GeometryList(new OpaqueComparator());
|
protected GeometryList shadowMapOccluders = new GeometryList(new OpaqueComparator());
|
||||||
private String[] shadowMapStringCache;
|
private String[] shadowMapStringCache;
|
||||||
@ -385,7 +383,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
|
|
||||||
@SuppressWarnings("fallthrough")
|
@SuppressWarnings("fallthrough")
|
||||||
public void postQueue(RenderQueue rq) {
|
public void postQueue(RenderQueue rq) {
|
||||||
sceneReceivers = rq.getShadowQueueContent(ShadowMode.Receive);
|
|
||||||
lightReceivers.clear();
|
lightReceivers.clear();
|
||||||
skipPostPass = false;
|
skipPostPass = false;
|
||||||
if ( !checkCulling(viewPort.getCamera()) ) {
|
if ( !checkCulling(viewPort.getCamera()) ) {
|
||||||
@ -462,7 +459,7 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
debug = true;
|
debug = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract GeometryList getReceivers(GeometryList sceneReceivers, GeometryList lightReceivers);
|
abstract void getReceivers(GeometryList lightReceivers);
|
||||||
|
|
||||||
public void postFrame(FrameBuffer out) {
|
public void postFrame(FrameBuffer out) {
|
||||||
if (skipPostPass) {
|
if (skipPostPass) {
|
||||||
@ -472,7 +469,7 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
displayShadowMap(renderManager.getRenderer());
|
displayShadowMap(renderManager.getRenderer());
|
||||||
}
|
}
|
||||||
|
|
||||||
lightReceivers = getReceivers(sceneReceivers, lightReceivers);
|
getReceivers(lightReceivers);
|
||||||
|
|
||||||
if (lightReceivers.size() != 0) {
|
if (lightReceivers.size() != 0) {
|
||||||
//setting params to recieving geometry list
|
//setting params to recieving geometry list
|
||||||
@ -498,10 +495,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
//clearing the params in case there are some other shadow renderers
|
//clearing the params in case there are some other shadow renderers
|
||||||
clearMatParams();
|
clearMatParams();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flushQueues) {
|
|
||||||
sceneReceivers.clear();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -726,24 +719,16 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if this shadow renderer flushes the shadow queues.
|
* isFlushQueues does nothing now and is kept only for backward compatibility
|
||||||
*
|
|
||||||
* @return flushQueues
|
|
||||||
*/
|
*/
|
||||||
public boolean isFlushQueues() {
|
@Deprecated
|
||||||
return flushQueues;
|
public boolean isFlushQueues() { return false; }
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set flushQueues to false if you have multiple shadow renderers, in order
|
* setFlushQueues does nothing now and is kept only for backward compatibility
|
||||||
* for multiple light sources to cast shadows. Make sure the last shadow
|
|
||||||
* renderer in the stack DOES flush the queues, but not the others.
|
|
||||||
*
|
|
||||||
* @param flushQueues
|
|
||||||
*/
|
*/
|
||||||
public void setFlushQueues(boolean flushQueues) {
|
@Deprecated
|
||||||
this.flushQueues = flushQueues;
|
public void setFlushQueues(boolean flushQueues) {}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* De-serialize this instance, for example when loading from a J3O file.
|
* De-serialize this instance, for example when loading from a J3O file.
|
||||||
@ -758,7 +743,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
shadowIntensity = ic.readFloat("shadowIntensity", 0.7f);
|
shadowIntensity = ic.readFloat("shadowIntensity", 0.7f);
|
||||||
edgeFilteringMode = ic.readEnum("edgeFilteringMode", EdgeFilteringMode.class, EdgeFilteringMode.Bilinear);
|
edgeFilteringMode = ic.readEnum("edgeFilteringMode", EdgeFilteringMode.class, EdgeFilteringMode.Bilinear);
|
||||||
shadowCompareMode = ic.readEnum("shadowCompareMode", CompareMode.class, CompareMode.Hardware);
|
shadowCompareMode = ic.readEnum("shadowCompareMode", CompareMode.class, CompareMode.Hardware);
|
||||||
flushQueues = ic.readBoolean("flushQueues", false);
|
|
||||||
init(assetManager, nbShadowMaps, (int) shadowMapSize);
|
init(assetManager, nbShadowMaps, (int) shadowMapSize);
|
||||||
edgesThickness = ic.readFloat("edgesThickness", 1.0f);
|
edgesThickness = ic.readFloat("edgesThickness", 1.0f);
|
||||||
postshadowMat.setFloat("PCFEdge", edgesThickness);
|
postshadowMat.setFloat("PCFEdge", edgesThickness);
|
||||||
@ -777,7 +761,6 @@ public abstract class AbstractShadowRenderer implements SceneProcessor, Savable
|
|||||||
oc.write(shadowIntensity, "shadowIntensity", 0.7f);
|
oc.write(shadowIntensity, "shadowIntensity", 0.7f);
|
||||||
oc.write(edgeFilteringMode, "edgeFilteringMode", EdgeFilteringMode.Bilinear);
|
oc.write(edgeFilteringMode, "edgeFilteringMode", EdgeFilteringMode.Bilinear);
|
||||||
oc.write(shadowCompareMode, "shadowCompareMode", CompareMode.Hardware);
|
oc.write(shadowCompareMode, "shadowCompareMode", CompareMode.Hardware);
|
||||||
oc.write(flushQueues, "flushQueues", false);
|
|
||||||
oc.write(edgesThickness, "edgesThickness", 1.0f);
|
oc.write(edgesThickness, "edgesThickness", 1.0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,25 +181,23 @@ public class DirectionalLightShadowRenderer extends AbstractShadowRenderer {
|
|||||||
ShadowUtil.updateFrustumPoints(viewPort.getCamera(), splitsArray[shadowMapIndex], splitsArray[shadowMapIndex + 1], 1.0f, points);
|
ShadowUtil.updateFrustumPoints(viewPort.getCamera(), splitsArray[shadowMapIndex], splitsArray[shadowMapIndex + 1], 1.0f, points);
|
||||||
|
|
||||||
//Updating shadow cam with curent split frustra
|
//Updating shadow cam with curent split frustra
|
||||||
if (sceneReceivers.size()==0) {
|
if (lightReceivers.size()==0) {
|
||||||
for (Spatial scene : viewPort.getScenes()) {
|
for (Spatial scene : viewPort.getScenes()) {
|
||||||
ShadowUtil.getGeometriesInCamFrustum(scene, viewPort.getCamera(), RenderQueue.ShadowMode.Receive, sceneReceivers);
|
ShadowUtil.getGeometriesInCamFrustum(scene, viewPort.getCamera(), RenderQueue.ShadowMode.Receive, lightReceivers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ShadowUtil.updateShadowCamera(viewPort, sceneReceivers, shadowCam, points, shadowMapOccluders, stabilize?shadowMapSize:0);
|
ShadowUtil.updateShadowCamera(viewPort, lightReceivers, shadowCam, points, shadowMapOccluders, stabilize?shadowMapSize:0);
|
||||||
|
|
||||||
return shadowMapOccluders;
|
return shadowMapOccluders;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
GeometryList getReceivers(GeometryList sceneReceivers, GeometryList lightReceivers) {
|
void getReceivers(GeometryList lightReceivers) {
|
||||||
if (sceneReceivers.size()==0) {
|
if (lightReceivers.size()==0) {
|
||||||
for (Spatial scene : viewPort.getScenes()) {
|
for (Spatial scene : viewPort.getScenes()) {
|
||||||
ShadowUtil.getGeometriesInCamFrustum(scene, viewPort.getCamera(), RenderQueue.ShadowMode.Receive, sceneReceivers);
|
ShadowUtil.getGeometriesInCamFrustum(scene, viewPort.getCamera(), RenderQueue.ShadowMode.Receive, lightReceivers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lightReceivers = sceneReceivers;
|
|
||||||
return sceneReceivers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -139,12 +139,11 @@ public class PointLightShadowRenderer extends AbstractShadowRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
GeometryList getReceivers(GeometryList sceneReceivers, GeometryList lightReceivers) {
|
void getReceivers(GeometryList lightReceivers) {
|
||||||
lightReceivers.clear();
|
lightReceivers.clear();
|
||||||
for (Spatial scene : viewPort.getScenes()) {
|
for (Spatial scene : viewPort.getScenes()) {
|
||||||
ShadowUtil.getLitGeometriesInViewPort(scene, viewPort.getCamera(), shadowCams, RenderQueue.ShadowMode.Receive, lightReceivers);
|
ShadowUtil.getLitGeometriesInViewPort(scene, viewPort.getCamera(), shadowCams, RenderQueue.ShadowMode.Receive, lightReceivers);
|
||||||
}
|
}
|
||||||
return lightReceivers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -151,14 +151,13 @@ public class SpotLightShadowRenderer extends AbstractShadowRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
GeometryList getReceivers(GeometryList sceneReceivers, GeometryList lightReceivers) {
|
void getReceivers(GeometryList lightReceivers) {
|
||||||
lightReceivers.clear();
|
lightReceivers.clear();
|
||||||
Camera[] cameras = new Camera[1];
|
Camera[] cameras = new Camera[1];
|
||||||
cameras[0] = shadowCam;
|
cameras[0] = shadowCam;
|
||||||
for (Spatial scene : viewPort.getScenes()) {
|
for (Spatial scene : viewPort.getScenes()) {
|
||||||
ShadowUtil.getLitGeometriesInViewPort(scene, viewPort.getCamera(), cameras, RenderQueue.ShadowMode.Receive, lightReceivers);
|
ShadowUtil.getLitGeometriesInViewPort(scene, viewPort.getCamera(), cameras, RenderQueue.ShadowMode.Receive, lightReceivers);
|
||||||
}
|
}
|
||||||
return lightReceivers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user