diff --git a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/render/jogl/VolumeRender.java b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/render/jogl/VolumeRender.java index 52d5066b..5d669b59 100644 --- a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/render/jogl/VolumeRender.java +++ b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/render/jogl/VolumeRender.java @@ -269,11 +269,11 @@ public class VolumeRender extends JOGLGraphicRender { program.allocateUniform(gl, "colorMap", (gl2, loc) -> { gl2.glUniform1i(loc, 1); }); - if (this.getRayCastingType() == RayCastingType.SPECULAR) { + //if (this.getRayCastingType() == RayCastingType.SPECULAR) { program.allocateUniform(gl, "normals", (gl2, loc) -> { gl2.glUniform1i(loc, 2); }); - } + // } program.allocateUniform(gl, "brightness", (gl2, loc) -> { gl2.glUniform1f(loc, this.getBrightness()); }); diff --git a/meteoinfo-chart/src/main/resources/shaders/volume/basic.frag b/meteoinfo-chart/src/main/resources/shaders/volume/basic.frag index bd2f0b84..ed34b850 100644 --- a/meteoinfo-chart/src/main/resources/shaders/volume/basic.frag +++ b/meteoinfo-chart/src/main/resources/shaders/volume/basic.frag @@ -11,6 +11,7 @@ uniform mat4 iV; uniform mat4 iP; uniform sampler3D tex; +uniform sampler3D normals; uniform sampler2D colorMap; uniform int depthSampleCount; uniform vec3 aabbMin; diff --git a/meteoinfo-chart/src/main/resources/shaders/volume/maxValue.frag b/meteoinfo-chart/src/main/resources/shaders/volume/maxValue.frag index aaa3a71a..800be894 100644 --- a/meteoinfo-chart/src/main/resources/shaders/volume/maxValue.frag +++ b/meteoinfo-chart/src/main/resources/shaders/volume/maxValue.frag @@ -11,6 +11,7 @@ uniform mat4 iV; uniform mat4 iP; uniform sampler3D tex; +uniform sampler3D normals; uniform sampler2D colorMap; uniform int depthSampleCount; uniform vec3 aabbMin; diff --git a/meteoinfo-data/src/main/java/org/meteoinfo/data/dimarray/DimArray.java b/meteoinfo-data/src/main/java/org/meteoinfo/data/dimarray/DimArray.java index 35e7206f..f2eb26b5 100644 --- a/meteoinfo-data/src/main/java/org/meteoinfo/data/dimarray/DimArray.java +++ b/meteoinfo-data/src/main/java/org/meteoinfo/data/dimarray/DimArray.java @@ -267,6 +267,29 @@ public class DimArray { return new DimArray(rr, dims); } + /** + * Section + * @param ranges ranges + * @return Section result dim array + * @throws InvalidRangeException + */ + public DimArray section(List ranges) throws InvalidRangeException { + Array r = this.array.section(ranges); + Array rr = Array.factory(r.getDataType(), r.getShape()); + MAMath.copy(rr, r); + Section section = new Section(ranges); + List dims = new ArrayList<>(); + for (int i = 0; i < section.getRank(); i++) { + Range range = section.getRange(i); + if (range.length() > 1) { + Dimension dim = this.dimensions.get(i).extract(range); + dims.add(dim); + } + } + + return new DimArray(rr, dims); + } + @Override public String toString() { return this.array.toString(); diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml index cb785254..3c806207 100644 --- a/meteoinfo-lab/milconfig.xml +++ b/meteoinfo-lab/milconfig.xml @@ -22,13 +22,11 @@ - -