|
31 | 31 | */ |
32 | 32 | package com.jme3.shadow; |
33 | 33 |
|
34 | | -import com.jme3.asset.AssetInfo; |
35 | | -import com.jme3.asset.AssetKey; |
36 | 34 | import com.jme3.asset.AssetManager; |
37 | 35 | import com.jme3.math.Matrix4f; |
38 | 36 | import com.jme3.math.Vector2f; |
|
45 | 43 | import com.jme3.renderer.opengl.ShaderStorageBufferObject; |
46 | 44 | import com.jme3.texture.Texture; |
47 | 45 |
|
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; |
51 | 50 |
|
52 | 51 | /** |
53 | 52 | * Compute shader used in SDSM. |
@@ -310,8 +309,8 @@ public SdsmFitter(GL4 gl, Renderer renderer, AssetManager assetManager) { |
310 | 309 | this.renderer = renderer; |
311 | 310 |
|
312 | 311 | // 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); |
315 | 314 |
|
316 | 315 | depthReduceShader = new ComputeShader(gl, reduceSource); |
317 | 316 | fitFrustumsShader = new ComputeShader(gl, fitSource); |
@@ -449,16 +448,6 @@ private SdsmResultHolder getResultHolderForUse() { |
449 | 448 | } |
450 | 449 | } |
451 | 450 |
|
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 | | - |
462 | 451 | private static float getProjectionToViewZ(float near, float far, float projZPos) { |
463 | 452 | float a = far / (far - near); |
464 | 453 | float b = far * near / (near - far); |
|
0 commit comments