Skip to content

Commit 29af397

Browse files
committed
Fresnel & modify reflect
add Fresnel, Reflection part modification
1 parent 5d4d0ed commit 29af397

39 files changed

Lines changed: 474 additions & 70 deletions

addLight.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ function addLightParameters(index){
189189
lightColor[index] =[Math.random(), Math.random(), Math.random()];
190190
lightIntensity[index] = 0.5;
191191
pointLightDis[index] = 0.5;
192+
pointLightDis[index] = 0.1;
192193
showDiffuse[index] = 1;
193194
showSpec[index] = 1;
194195

@@ -228,7 +229,7 @@ function drawLightMarkPosition(index){
228229
var lightPy = (mouseXY[index][1] + 0.5)*100 + "%";
229230
var colorString = color2hex(lightColor[index]);
230231
var lightMark = "lightMark" + index;
231-
var circle= makeSVG('circle', {id:lightMark, cx: lightPx, cy: lightPy, fill: colorString, r:8, stroke: 'white', 'stroke-width': 1,});
232+
var circle= makeSVG('circle', {id:lightMark, cx: lightPx, cy: lightPy, fill: colorString, r:8});//, stroke: 'white', 'stroke-width': 1
232233
document.getElementById('lightPosition_container').appendChild(circle);
233234
}
234235

css/mock3d.css

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,10 @@ label{margin-bottom:0;}
329329
/*background: rgba(255, 0, 0, 0.5);*/
330330
}
331331

332+
#lightPosition_container .highLight{
333+
334+
}
335+
332336

333337

334338

@@ -511,6 +515,28 @@ input[type="checkbox"] + .pseudoCheckbox{
511515

512516
.mytextbox{width:44px; display:inline-block; padding:5px 5px; height:24px; margin-top:5px; margin-bottom: 5px;}
513517

518+
519+
.dropdown_container{
520+
margin:7px 0;
521+
}
522+
523+
.dropdown_container .caret.caret-up {
524+
border-top-width: 0;
525+
border-bottom: 4px solid #333;
526+
}
527+
.myDropdown{
528+
padding: 1px 5px;
529+
font-size: 12px;
530+
line-height: 1.8;
531+
border-radius: 3px;
532+
margin: 3px 0;
533+
}
534+
535+
.dropdown-menu{
536+
margin-top: -1px;
537+
}
538+
539+
514540
.slider_container{padding-bottom:8px;}
515541
.slider_box{padding:0 10px;}
516542

cube.js

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ lightIntensity[0] = 1.0;
1919
var pointLightDis = [];
2020
pointLightDis[0] = 0.5;
2121

22+
var pointLightDecay = [];
23+
pointLightDecay[0] = 0.1;
24+
2225
var showDiffuse = [];
2326
showDiffuse[0] = 1;
2427

@@ -31,18 +34,28 @@ showSpec[0] = 1;
3134
var styleBright = 0,
3235
styleDark = 1;
3336

34-
var alphaR = 1,
37+
var alphaR = 0,
3538
alphaG = 1,
3639
alphaB = 1;
3740

38-
var logIOR = 0.25;
41+
var logIOR = 0.25;//[-1, 1]
3942
var BGdis = 0.6;
4043

44+
var reflDisable = 0;
4145
var mirror = 0;
42-
var reflectIntensity = 0.5;
43-
var FGdis = 0.5;
44-
var FGshiftLR = 0;
46+
var reflectIntensity = 0;
47+
var FGdis = 0.2;
48+
49+
var reflMap = 1;//1: plane; 2:hemisphere
50+
51+
var FGshiftX = 0;
52+
var FGshiftY = 0;
53+
var FGscaleX = 0.5;
54+
var FGscaleY = 0.5;
4555

56+
var fresnelB = 0.3; //cos = 0.95
57+
var fresnelC = 0.6; //cos = 0.7
58+
var checkFresnel = 0;
4659

4760
//Locs
4861

@@ -54,16 +67,20 @@ var lightsOnlyLoc;
5467
var lightColorLoc;
5568
var lightIntensityLoc;
5669
var pointLightDisLoc;
70+
var pointLightDecayLoc;
5771

5872
var showDiffuseLoc;
5973
var showSpecLoc;
6074

6175
var styleBrightLoc, styleDarkLoc;
6276
var alphaRLoc, alphaGLoc, alphaBLoc;
6377
var logIORLoc, BGdisLoc;
64-
var mirrorLoc, FGdisLoc, FGshiftLRLoc;
78+
var reflDisableLoc, mirrorLoc, FGdisLoc;
79+
var reflMapLoc;
80+
var FGshiftXLoc, FGshiftYLoc, FGscaleXLoc, FGscaleXLoc;
6581
var reflectIntensityLoc;
66-
82+
var fresnelBLoc, fresnelCLoc;
83+
var checkFresnelLoc;
6784

6885

6986
/****************** For Basic shader ******************/
@@ -204,7 +221,8 @@ window.onload = function init()
204221
showDiffuseLoc = gl.getUniformLocation( program, "showDiffuse");
205222
showSpecLoc = gl.getUniformLocation( program, "showSpec");
206223
pointLightDisLoc = gl.getUniformLocation( program, "pointLightDis");
207-
224+
pointLightDecayLoc = gl.getUniformLocation( program, "pointLightDecay");
225+
208226

209227
styleBrightLoc = gl.getUniformLocation( program, "styleBright");
210228
styleDarkLoc = gl.getUniformLocation( program, "styleDark");
@@ -214,10 +232,17 @@ window.onload = function init()
214232
logIORLoc = gl.getUniformLocation( program, "logIOR");
215233
BGdisLoc = gl.getUniformLocation( program, "BGdis");
216234
FGdisLoc = gl.getUniformLocation( program, "FGdis");
235+
reflDisableLoc = gl.getUniformLocation (program, "reflDisable");
217236
mirrorLoc = gl.getUniformLocation( program, "mirror");
218237
reflectIntensityLoc = gl.getUniformLocation (program, "reflectIntensity");
219-
FGshiftLRLoc = gl.getUniformLocation( program, "FGshiftLR");
220-
238+
reflMapLoc = gl.getUniformLocation ( program, "reflMap");
239+
FGshiftXLoc = gl.getUniformLocation( program, "FGshiftX");
240+
FGshiftYLoc = gl.getUniformLocation( program, "FGshiftY");
241+
FGscaleXLoc = gl.getUniformLocation( program, "FGscaleX");
242+
FGscaleYLoc = gl.getUniformLocation( program, "FGscaleY");
243+
fresnelBLoc = gl.getUniformLocation( program, "fresnelB");
244+
fresnelCLoc = gl.getUniformLocation( program, "fresnelC");
245+
checkFresnelLoc = gl.getUniformLocation( program, "checkFresnel");
221246

222247
render();
223248
};
@@ -275,12 +300,19 @@ function handleTextureLoaded(image, texture) {
275300
function render() {
276301
gl.clear( gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT );
277302

303+
var reflDisableElem = $('#reflDisableSelect:checked');
304+
reflDisable = (reflDisableElem.val())?1:0;
305+
278306
var mirrorElem = $('#mirrorSelect:checked');
279307
mirror = (mirrorElem.val())?1:0;
280308

281309
var lightsOnlyElem = $ ('#lightsOnlySelect:checked');
282310
lightsOnly = (lightsOnlyElem.val())?1:0;
283311

312+
var checkFresnelElem = $('#checkFresnelSelect:checked');
313+
checkFresnel = (checkFresnelElem.val())?1:0;
314+
315+
284316
for (var i = 0; i < lightNum ; i++)
285317
{
286318
var checkboxName_showDiffuse = '#lightPanel' + i + ' #diffuseSelect:checked';
@@ -305,6 +337,7 @@ function render() {
305337
gl.uniform1iv(showDiffuseLoc, showDiffuse);
306338
gl.uniform1iv(showSpecLoc, showSpec);
307339
gl.uniform1fv(pointLightDisLoc, pointLightDis);
340+
gl.uniform1fv(pointLightDecayLoc, pointLightDecay);
308341

309342
gl.uniform1f(styleBrightLoc, styleBright);
310343
gl.uniform1f(styleDarkLoc, styleDark);
@@ -315,9 +348,18 @@ function render() {
315348
gl.uniform1f(logIORLoc, logIOR);
316349
gl.uniform1f(BGdisLoc, BGdis);
317350
gl.uniform1f(FGdisLoc, FGdis);
351+
gl.uniform1i(reflDisableLoc, reflDisable);
318352
gl.uniform1i(mirrorLoc, mirror);
319353
gl.uniform1f(reflectIntensityLoc, reflectIntensity);
320-
gl.uniform1f(FGshiftLRLoc, FGshiftLR);
354+
gl.uniform1i(reflMapLoc, reflMap);
355+
gl.uniform1f(FGshiftXLoc, FGshiftX);
356+
gl.uniform1f(FGshiftYLoc, FGshiftY);
357+
gl.uniform1f(FGscaleXLoc, FGscaleX);
358+
gl.uniform1f(FGscaleYLoc, FGscaleY);
359+
360+
gl.uniform1f(fresnelBLoc, fresnelB);
361+
gl.uniform1f(fresnelCLoc, fresnelC);
362+
gl.uniform1i(checkFresnelLoc, checkFresnel);
321363

322364
gl.drawArrays( gl.TRIANGLES, 0, numVertices );
323365
requestAnimFrame(render);

dragndrop.js

Lines changed: 75 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,36 +21,97 @@ UPLOADinit = function()
2121
image6 = new Image();
2222

2323

24-
//image1.src = "images/Eye/eye_dark.png"; //dark
25-
//image2.src = "images/Eye/eye_bright.png"; //bright
26-
//image3.src = "images/Eye/eye_shape_smooth.png"; //shape map
27-
//image4.src = "images/Eye/eye_foreground.png"; //reflection
24+
25+
26+
//eye
27+
// image1.src = "images/Eye/eye_dark.jpg"; //dark
28+
// image2.src = "images/Eye/eye_bright.jpg"; //bright
29+
30+
// image3.src = "images/Eye/eye_shape_smooth.png"; //shape map
31+
// image4.src = "images/Eye/eye_foreground.png"; //reflection
32+
// image5.src = "images/checker.jpg";//refraction
33+
// image6.src = "images/eye/eye_alpha.jpg";
34+
35+
36+
37+
38+
//for fresnel test
39+
// image1.src = "images/dark.png"; //dark
40+
// image2.src = "images/light.png"; //bright
41+
// image3.src = "images/cylinder.png"; //shape map
42+
// image4.src = "images/white.png"; //reflection
43+
// image5.src = "images/dark.png"; //refraction
44+
// image6.src = "images/white.png"; //alpha
45+
46+
47+
48+
//Escher/eye
49+
// image1.src = "images/Escher/eye/dark.jpg"; //dark
50+
// image2.src = "images/Escher/eye/bright.jpg"; //bright
51+
// image3.src = "images/Escher/eye/shape.png"; //shape map
52+
// image4.src = "images/Escher/eye/reflect.png"; //reflection
53+
// image5.src = "images/checker.jpg";//refraction
54+
// image6.src = "images/Escher/eye/alphaControl.jpg";
55+
56+
//Escher/handWithSphere
57+
image1.src = "images/Escher/handWithSphere/dark.jpg"; //dark
58+
image2.src = "images/Escher/handWithSphere/bright.jpg"; //bright
59+
image3.src = "images/Escher/handWithSphere/shape.png"; //shape map
60+
image4.src = "images/Escher/handWithSphere/reflect2.jpg"; //reflection
61+
image5.src = "images/dark.png";//refraction
62+
image6.src = "images/Escher/handWithSphere/alphaControl.png";
63+
64+
//underWater
65+
// image1.src = "images/underWater/dark.jpg"; //dark
66+
// image2.src = "images/underWater/bright.jpg"; //bright
67+
// image3.src = "images/underWater/shape.jpg"; //shape map
68+
// image4.src = "images/white.png"; //reflection
69+
// image5.src = "images/underWater/BG.jpg";//refraction
70+
// image6.src = "images/underWater/alphaControl.jpg";
71+
72+
73+
74+
75+
76+
// image1.src = "images/dark.png"; //dark
77+
// image2.src = "images/light.png"; //bright
78+
// image3.src = "images/bottle/shape.png"; //shape map
79+
// //image4.src = "images/stripe_s.jpg"; //reflection
80+
// image4.src = "images/reflect_red.png"; //reflection
2881

29-
//image1.src = "images/dark.png"; //dark
30-
//image2.src = "images/white.png"; //bright
82+
// image5.src = "images/checker.jpg";//refraction
83+
// image6.src = "images/white.png";
84+
3185
//image2.src = "images/light.png"; //bright
3286

87+
88+
3389
//image1.src = "images/dark_(alpha50).png"; //dark
3490
//image2.src = "images/light_(alpha50).png"; //bright
91+
92+
93+
3594
//image3.src = "images/normal.png"; //shape map
95+
96+
97+
3698
//image3.src = "images/Holmer/Holmer_shape_clean.png"; //shape map
37-
image3.src = "images/Holmer/Holmer_new_shape.png"; //shape map
38-
image1.src = "images/Holmer/Holmer_new_dark.png"; //dark
39-
image2.src = "images/Holmer/Holmer_new_bright.png"; //bright
99+
// image3.src = "images/Holmer/Holmer_new_shape.png"; //shape map
100+
//image1.src = "images/Holmer/Holmer_new_dark.png"; //dark
101+
//image2.src = "images/Holmer/Holmer_new_bright.png"; //bright
102+
40103

41-
//image1.src ="images/white.png";
42-
//image2.src ="images/white.png";
43104

44105
//image1.src = "images/Holmer/Holmer_dark.png"; //dark
45106
//image2.src = "images/Holmer/Holmer_bright.png"; //bright
46107
//image3.src = "images/Holmer/Holmer_shape.png"; //shape map
47108

48109

49110
//image4.src = "images/reflect_red.png";//reflection
50-
image4.src = "images/reflect_window2.png";//reflection
111+
//image4.src = "images/reflect_window2.png";//reflection
51112
//image4.src = "images/dark.png";
52113

53-
image5.src = "images/checker.jpg"; //refraction
114+
//image5.src = "images/checker.jpg"; //refraction
54115
//image5.src = "images/dark.png"; //refraction
55116
//image5.src = "images/white.png";
56117

@@ -62,7 +123,7 @@ UPLOADinit = function()
62123
//image3.src = "images/bottle/shape.png"
63124
//image5.src = "images/bottle/bg.png"
64125
//image6.src = "images/eye/eye_alpha.jpg";
65-
image6.src = "images/Holmer/Holmer_new_alphaControl.png";
126+
//image6.src = "images/Holmer/Holmer_new_alphaControl.png";
66127

67128

68129

images/Escher/eye/alphaControl.jpg

24.4 KB
Loading

images/Escher/eye/bright.jpg

103 KB
Loading

images/Escher/eye/dark.jpg

97.5 KB
Loading
6.16 MB
Binary file not shown.
553 KB
Loading
540 KB
Loading

0 commit comments

Comments
 (0)