use of com.gempukku.libgdx.graph.util.DefaultTimeKeeper in project gdx-graph by MarcinSc.
the class ParticlesShaderPreviewWidget method createShader.
private void createShader(final Graph<? extends GraphNode, ? extends GraphConnection, ? extends GraphProperty> graph) {
try {
timeKeeper = new DefaultTimeKeeper();
graphShader = GraphShaderBuilder.buildParticlesShader("Test", WhitePixel.sharedInstance.texture, graph, true);
frameBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, false);
createModel();
shaderContext.setTimeProvider(timeKeeper);
shaderContext.setGlobalPropertyContainer(new PropertyContainer() {
@Override
public Object getValue(String name) {
for (GraphProperty property : graph.getProperties()) {
if (property.getName().equals(name) && property.getLocation() == PropertyLocation.Global_Uniform) {
ShaderFieldType propertyType = ShaderFieldTypeRegistry.findShaderFieldType(property.getType());
return propertyType.convertFromJson(property.getData());
}
}
return null;
}
});
shaderContext.setLocalPropertyContainer(new PropertyContainer() {
@Override
public Object getValue(String name) {
for (GraphProperty property : graph.getProperties()) {
if (property.getName().equals(name) && property.getLocation() != PropertyLocation.Global_Uniform) {
ShaderFieldType propertyType = ShaderFieldTypeRegistry.findShaderFieldType(property.getType());
Object value = propertyType.convertFromJson(property.getData());
if (propertyType.isTexture()) {
if (value != null) {
try {
Texture texture = new Texture(Gdx.files.absolute((String) value));
graphShader.addManagedResource(texture);
return new TextureRegion(texture);
} catch (Exception exp) {
}
}
return WhitePixel.sharedInstance.textureRegion;
} else {
return value;
}
}
}
return null;
}
});
shaderInitialized = true;
} catch (Exception exp) {
exp.printStackTrace();
if (graphShader != null)
graphShader.dispose();
}
}
use of com.gempukku.libgdx.graph.util.DefaultTimeKeeper in project gdx-graph by MarcinSc.
the class ScreenShaderPreviewWidget method createShader.
private void createShader(final Graph<? extends GraphNode, ? extends GraphConnection, ? extends GraphProperty> graph) {
try {
timeKeeper = new DefaultTimeKeeper();
graphShader = GraphShaderBuilder.buildScreenShader("Test", WhitePixel.sharedInstance.texture, graph, true);
frameBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, false);
shaderContext.setTimeProvider(timeKeeper);
shaderContext.setGlobalPropertyContainer(new PropertyContainer() {
@Override
public Object getValue(String name) {
for (GraphProperty property : graph.getProperties()) {
if (property.getName().equals(name)) {
ShaderFieldType propertyType = ShaderFieldTypeRegistry.findShaderFieldType(property.getType());
Object value = propertyType.convertFromJson(property.getData());
if (propertyType.isTexture()) {
if (value != null) {
try {
Texture texture = new Texture(Gdx.files.absolute((String) value));
graphShader.addManagedResource(texture);
return new TextureRegion(texture);
} catch (Exception exp) {
}
}
return WhitePixel.sharedInstance.textureRegion;
} else {
return value;
}
}
}
return null;
}
});
shaderInitialized = true;
} catch (Exception exp) {
exp.printStackTrace();
if (graphShader != null)
graphShader.dispose();
}
}
use of com.gempukku.libgdx.graph.util.DefaultTimeKeeper in project gdx-graph by MarcinSc.
the class ModelShaderPreviewWidget method createShader.
private void createShader(final Graph<? extends GraphNode, ? extends GraphConnection, ? extends GraphProperty> graph) {
try {
timeKeeper = new DefaultTimeKeeper();
graphShader = GraphShaderBuilder.buildModelShader("Test", WhitePixel.sharedInstance.texture, graph, true);
frameBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, false);
createModel();
MapWritablePropertyContainer globalPropertyContainer = new MapWritablePropertyContainer();
for (GraphProperty property : graph.getProperties()) {
if (property.getLocation() == PropertyLocation.Global_Uniform) {
ShaderFieldType propertyType = ShaderFieldTypeRegistry.findShaderFieldType(property.getType());
globalPropertyContainer.setValue(property.getName(), propertyType.convertFromJson(property.getData()));
}
}
shaderContext.setGlobalPropertyContainer(globalPropertyContainer);
localPropertyContainer = new MapWritablePropertyContainer();
for (GraphProperty property : graph.getProperties()) {
if (property.getLocation() == PropertyLocation.Uniform) {
ShaderFieldType propertyType = ShaderFieldTypeRegistry.findShaderFieldType(property.getType());
Object value = propertyType.convertFromJson(property.getData());
if (propertyType.isTexture()) {
if (value != null) {
try {
Texture texture = new Texture(Gdx.files.absolute((String) value));
graphShader.addManagedResource(texture);
localPropertyContainer.setValue(property.getName(), new TextureRegion(texture));
} catch (Exception exp) {
localPropertyContainer.setValue(property.getName(), WhitePixel.sharedInstance.textureRegion);
}
} else {
localPropertyContainer.setValue(property.getName(), WhitePixel.sharedInstance.textureRegion);
}
}
}
}
shaderContext.setTimeProvider(timeKeeper);
shaderInitialized = true;
} catch (Exception exp) {
exp.printStackTrace();
if (graphShader != null)
graphShader.dispose();
}
}
Aggregations