Skip to content

Commit c6beb87

Browse files
author
scott
committed
Load compute shaders the easy way
1 parent 14c9c3c commit c6beb87

File tree

2 files changed

+7
-18
lines changed

2 files changed

+7
-18
lines changed

jme3-core/src/main/java/com/jme3/shadow/SdsmFitter.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
*/
3232
package com.jme3.shadow;
3333

34-
import com.jme3.asset.AssetInfo;
35-
import com.jme3.asset.AssetKey;
3634
import com.jme3.asset.AssetManager;
3735
import com.jme3.math.Matrix4f;
3836
import com.jme3.math.Vector2f;
@@ -45,9 +43,10 @@
4543
import com.jme3.renderer.opengl.ShaderStorageBufferObject;
4644
import com.jme3.texture.Texture;
4745

48-
import java.io.IOException;
49-
import java.io.InputStream;
50-
import java.util.*;
46+
import java.util.ArrayList;
47+
import java.util.Iterator;
48+
import java.util.LinkedList;
49+
import java.util.List;
5150

5251
/**
5352
* Compute shader used in SDSM.
@@ -310,8 +309,8 @@ public SdsmFitter(GL4 gl, Renderer renderer, AssetManager assetManager) {
310309
this.renderer = renderer;
311310

312311
// Load compute shaders
313-
String reduceSource = loadShaderSource(assetManager, REDUCE_DEPTH_SHADER);
314-
String fitSource = loadShaderSource(assetManager, FIT_FRUSTUMS_SHADER);
312+
String reduceSource = (String)assetManager.loadAsset(REDUCE_DEPTH_SHADER);
313+
String fitSource = (String)assetManager.loadAsset(FIT_FRUSTUMS_SHADER);
315314

316315
depthReduceShader = new ComputeShader(gl, reduceSource);
317316
fitFrustumsShader = new ComputeShader(gl, fitSource);
@@ -449,16 +448,6 @@ private SdsmResultHolder getResultHolderForUse() {
449448
}
450449
}
451450

452-
private static String loadShaderSource(AssetManager assetManager, String resourcePath) {
453-
//TODO: Should these shaders get special loaders or something?
454-
AssetInfo info = assetManager.locateAsset(new AssetKey<>(resourcePath));
455-
try (InputStream is = info.openStream()) {
456-
return new Scanner(is).useDelimiter("\\A").next();
457-
} catch (IOException e) {
458-
throw new RendererException("Failed to load shader: " + resourcePath);
459-
}
460-
}
461-
462451
private static float getProjectionToViewZ(float near, float far, float projZPos) {
463452
float a = far / (far - near);
464453
float b = far * near / (near - far);

jme3-core/src/main/resources/com/jme3/asset/General.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ LOADER com.jme3.scene.plugins.ogre.MeshLoader : meshxml, mesh.xml
2020
LOADER com.jme3.scene.plugins.ogre.SkeletonLoader : skeletonxml, skeleton.xml
2121
LOADER com.jme3.scene.plugins.ogre.MaterialLoader : material
2222
LOADER com.jme3.scene.plugins.ogre.SceneLoader : scene
23-
LOADER com.jme3.shader.plugins.GLSLLoader : vert, frag, geom, tsctrl, tseval, glsl, glsllib
23+
LOADER com.jme3.shader.plugins.GLSLLoader : vert, frag, geom, tsctrl, tseval, glsl, glsllib, comp
2424
LOADER com.jme3.scene.plugins.fbx.FbxLoader : fbx
2525
LOADER com.jme3.scene.plugins.gltf.GltfLoader : gltf
2626
LOADER com.jme3.scene.plugins.gltf.BinLoader : bin

0 commit comments

Comments
 (0)