Do not share shader's uniforms with multiple components
This commit is contained in:
Submodule hyperlap2d-runtime-libgdx updated: e04d027316...8854f47461
@@ -1,5 +1,6 @@
|
||||
package games.rednblack.editor.view.ui.panel;
|
||||
|
||||
import com.badlogic.gdx.utils.Pools;
|
||||
import games.rednblack.editor.renderer.components.ShaderComponent;
|
||||
import games.rednblack.editor.renderer.data.ShaderUniformVO;
|
||||
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
|
||||
@@ -94,7 +95,7 @@ public class ShaderUniformsPanelMediator extends Mediator<ShaderUniformsPanel> {
|
||||
|
||||
private void addNewUniform(Object[] payload) {
|
||||
String name = (String) payload[0];
|
||||
ShaderUniformVO vo = new ShaderUniformVO();
|
||||
ShaderUniformVO vo = Pools.get(ShaderUniformVO.class, ShaderComponent.UNIFORMS_POOL_SIZE).obtain();
|
||||
switch (payload.length) {
|
||||
case 2:
|
||||
if (payload[1] instanceof Integer)
|
||||
@@ -121,7 +122,8 @@ public class ShaderUniformsPanelMediator extends Mediator<ShaderUniformsPanel> {
|
||||
|
||||
private void removeUniform(String uniform) {
|
||||
ShaderComponent shaderComponent = SandboxComponentRetriever.get(observable, ShaderComponent.class);
|
||||
shaderComponent.customUniforms.remove(uniform);
|
||||
ShaderUniformVO vo = shaderComponent.customUniforms.remove(uniform);
|
||||
Pools.free(vo);
|
||||
|
||||
updateView();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user