Skip to content
This repository was archived by the owner on Jun 24, 2024. It is now read-only.

Commit 197d59d

Browse files
committed
adds settable aperture
1 parent 7e11987 commit 197d59d

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

data/cubeMapQuadFrag.glsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ precision highp float;
44
precision highp int;
55

66
uniform samplerCube cubemap;
7+
uniform float aperture;
78

89
varying vec2 vertTexCoord;
910

@@ -29,7 +30,7 @@ vec3 domeXYToXYZ(vec2 xy, float aperture) {
2930
}
3031

3132
void main() {
32-
vec3 ray = domeXYToXYZ(vertTexCoord, 1.0*PI);
33+
vec3 ray = domeXYToXYZ(vertTexCoord, aperture*PI);
3334
//vec3 rgb = ray * 0.5 + vec3(0.5); //DEBUG
3435
vec3 color = vec3(textureCube(cubemap, ray));
3536
gl_FragColor = vec4(color, 1.0);

src/codeanticode/planetarium/Dome.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public class Dome extends PGraphics3D {
6969
protected float domeLeft, domeRight, domeTop, domeBottom;
7070
protected float domeDX, domeDY, domeDZ;
7171
protected float domeScale = 1;
72+
protected float domeAperture = 1f;
7273

7374
protected Method borderMethod;
7475
protected Method screenMethod;
@@ -320,6 +321,7 @@ private void initDomeQuad() {
320321
cubeMapQuadShader = parent.loadShader("cubeMapQuadFrag.glsl",
321322
"cubeMapQuadVert.glsl");
322323
cubeMapQuadShader.set("cubemap", 1);
324+
setDomeAperture(1f);
323325
}
324326

325327

@@ -455,6 +457,18 @@ private static int nextPowerOfTwo(int val) {
455457
return ret;
456458
}
457459

460+
//the aperture value is normalized on PI
461+
protected void setDomeAperture(float theAperture) {
462+
if(cubeMapQuadShader != null) {
463+
try {
464+
cubeMapQuadShader.set("aperture", theAperture);
465+
domeAperture = theAperture;
466+
} catch(Exception e) {
467+
e.printStackTrace();
468+
}
469+
}
470+
}
471+
458472

459473
private void welcome() {
460474
System.out.println("##library.name## ##library.prettyVersion## by ##author##");

src/codeanticode/planetarium/DomeCamera.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ public void setMode(int mode) {
5252
*/
5353
}
5454

55+
public void setDomeAperture(float theAperture) {
56+
renderer.setDomeAperture(theAperture);
57+
}
58+
5559
public int getFace() {
5660
return renderer.getCurrentFace() - PGL.TEXTURE_CUBE_MAP_POSITIVE_X;
5761
}

0 commit comments

Comments
 (0)