Skip to content

Commit 40ba1e8

Browse files
committed
Removed Color.getHSV, Color.setHSV and ColorUtils.adjustHSV. Added Color.offsetHSL. Updated some examples...
1 parent 7bb329b commit 40ba1e8

8 files changed

Lines changed: 46 additions & 209 deletions

File tree

examples/misc_controls_pointerlock.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,10 @@
212212
for ( var i = 0, l = geometry.faces.length; i < l; i ++ ) {
213213

214214
var face = geometry.faces[ i ];
215-
face.vertexColors[ 0 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
216-
face.vertexColors[ 1 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
217-
face.vertexColors[ 2 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
218-
face.vertexColors[ 3 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
215+
face.vertexColors[ 0 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
216+
face.vertexColors[ 1 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
217+
face.vertexColors[ 2 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
218+
face.vertexColors[ 3 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
219219

220220
}
221221

@@ -231,10 +231,10 @@
231231
for ( var i = 0, l = geometry.faces.length; i < l; i ++ ) {
232232

233233
var face = geometry.faces[ i ];
234-
face.vertexColors[ 0 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
235-
face.vertexColors[ 1 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
236-
face.vertexColors[ 2 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
237-
face.vertexColors[ 3 ] = new THREE.Color().setHSV( Math.random() * 0.2 + 0.5, Math.random() * 0.5, 1 );
234+
face.vertexColors[ 0 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
235+
face.vertexColors[ 1 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
236+
face.vertexColors[ 2 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
237+
face.vertexColors[ 3 ] = new THREE.Color().setHSL( Math.random() * 0.2 + 0.5, 0.5, Math.random() * 0.25 + 0.75 );
238238

239239
}
240240

examples/webgl_buffergeometry_particles.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@
110110
var vy = ( y / n ) + 0.5;
111111
var vz = ( z / n ) + 0.5;
112112

113-
//color.setHSV( 0.5 + 0.5 * vx, 0.25 + 0.75 * vy, 0.25 + 0.75 * vz );
114113
color.setRGB( vx, vy, vz );
115114

116115
colors[ i ] = color.r;

examples/webgl_custom_attributes.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
var vertices = sphere.geometry.vertices;
141141
var values = attributes.displacement.value;
142142

143-
for( var v = 0; v < vertices.length; v++ ) {
143+
for ( var v = 0; v < vertices.length; v++ ) {
144144

145145
values[ v ] = 0;
146146
noise[ v ] = Math.random() * 5;
@@ -191,9 +191,9 @@
191191
sphere.rotation.y = sphere.rotation.z = 0.01 * time;
192192

193193
uniforms.amplitude.value = 2.5 * Math.sin( sphere.rotation.y * 0.125 );
194-
THREE.ColorUtils.adjustHSV( uniforms.color.value, 0.0005, 0, 0 );
194+
uniforms.color.value.offsetHSL( 0.0005, 0, 0 );
195195

196-
for( var i = 0; i < attributes.displacement.value.length; i ++ ) {
196+
for ( var i = 0; i < attributes.displacement.value.length; i ++ ) {
197197

198198
attributes.displacement.value[ i ] = Math.sin( 0.1 * i + time );
199199

examples/webgl_custom_attributes_lines.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,10 @@
174174

175175
for( var v = 0; v < vertices.length; v ++ ) {
176176

177-
displacement[ v ] = new THREE.Vector3( 0, 0, 0 );
177+
displacement[ v ] = new THREE.Vector3();
178178

179179
color[ v ] = new THREE.Color( 0xffffff );
180-
color[ v ].setHSV( v / vertices.length, 0.9, 0.9 );
180+
color[ v ].setHSL( v / vertices.length, 0.5, 0.5 );
181181

182182
}
183183

@@ -227,7 +227,7 @@
227227
object.rotation.y = 0.25 * time;
228228

229229
uniforms.amplitude.value = 0.5 * Math.sin( 0.5 * time );
230-
THREE.ColorUtils.adjustHSV( uniforms.color.value, 0.0005, 0, 0 );
230+
uniforms.color.value.offsetHSL( 0.0005, 0, 0 );
231231

232232
var nx, ny, nz, value;
233233

src/extras/ColorUtils.js

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/math/Color.js

Lines changed: 32 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -86,69 +86,6 @@ THREE.extend( THREE.Color.prototype, {
8686

8787
},
8888

89-
setHSV: function ( h, s, v ) {
90-
91-
// based on MochiKit implementation by Bob Ippolito
92-
// h,s,v ranges are < 0.0 - 1.0 >
93-
94-
var i, f, p, q, t;
95-
96-
if ( v === 0 ) {
97-
98-
this.r = this.g = this.b = 0;
99-
100-
} else {
101-
102-
i = Math.floor( h * 6 );
103-
f = ( h * 6 ) - i;
104-
p = v * ( 1 - s );
105-
q = v * ( 1 - ( s * f ) );
106-
t = v * ( 1 - ( s * ( 1 - f ) ) );
107-
108-
if ( i === 0 ) {
109-
110-
this.r = v;
111-
this.g = t;
112-
this.b = p;
113-
114-
} else if ( i === 1 ) {
115-
116-
this.r = q;
117-
this.g = v;
118-
this.b = p;
119-
120-
} else if ( i === 2 ) {
121-
122-
this.r = p;
123-
this.g = v;
124-
this.b = t;
125-
126-
} else if ( i === 3 ) {
127-
128-
this.r = p;
129-
this.g = q;
130-
this.b = v;
131-
132-
} else if ( i === 4 ) {
133-
134-
this.r = t;
135-
this.g = p;
136-
this.b = v;
137-
138-
} else if ( i === 5 ) {
139-
140-
this.r = v;
141-
this.g = p;
142-
this.b = q;
143-
144-
}
145-
146-
}
147-
148-
return this;
149-
150-
},
151-
15289
setStyle: function ( style ) {
15390

15491
// rgb(255,0,0)
@@ -286,117 +223,64 @@ THREE.extend( THREE.Color.prototype, {
286223

287224
},
288225

289-
getHSL: function ( hsl ) {
226+
getHSL: function () {
290227

291-
// h,s,l ranges are in 0.0 - 1.0
228+
var hsl = { h: 0, s: 0, l: 0 };
292229

293-
if ( hsl === undefined ) hsl = { h: 0, s: 0, l: 0 };
230+
return function () {
294231

295-
var r = this.r, g = this.g, b = this.b;
232+
// h,s,l ranges are in 0.0 - 1.0
296233

297-
var max = Math.max( r, g, b );
298-
var min = Math.min( r, g, b );
234+
var r = this.r, g = this.g, b = this.b;
299235

300-
var hue, saturation;
301-
var lightness = ( min + max ) / 2.0;
236+
var max = Math.max( r, g, b );
237+
var min = Math.min( r, g, b );
302238

303-
if ( min === max ) {
239+
var hue, saturation;
240+
var lightness = ( min + max ) / 2.0;
304241

305-
hue = 0;
306-
saturation = 0;
242+
if ( min === max ) {
307243

308-
} else {
244+
hue = 0;
245+
saturation = 0;
309246

310-
var delta = max - min;
247+
} else {
311248

312-
saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );
249+
var delta = max - min;
313250

314-
switch ( max ) {
251+
saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );
315252

316-
case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;
317-
case g: hue = ( b - r ) / delta + 2; break;
318-
case b: hue = ( r - g ) / delta + 4; break;
253+
switch ( max ) {
319254

320-
}
321-
322-
hue /= 6;
323-
324-
}
325-
326-
hsl.h = hue;
327-
hsl.s = saturation;
328-
hsl.l = lightness;
329-
330-
return hsl;
331-
332-
},
333-
334-
getHSV: function ( hsv ) {
335-
336-
// based on MochiKit implementation by Bob Ippolito
337-
// h,s,v ranges are < 0.0 - 1.0 >
338-
339-
var r = this.r;
340-
var g = this.g;
341-
var b = this.b;
342-
343-
var max = Math.max( Math.max( r, g ), b );
344-
var min = Math.min( Math.min( r, g ), b );
345-
346-
var hue;
347-
var saturation;
348-
var value = max;
349-
350-
if ( min === max ) {
351-
352-
hue = 0;
353-
saturation = 0;
255+
case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;
256+
case g: hue = ( b - r ) / delta + 2; break;
257+
case b: hue = ( r - g ) / delta + 4; break;
354258

355-
} else {
356-
357-
var delta = ( max - min );
358-
saturation = delta / max;
359-
360-
if ( r === max ) {
361-
362-
hue = ( g - b ) / delta;
259+
}
363260

364-
} else if ( g === max ) {
261+
hue /= 6;
365262

366-
hue = 2 + ( ( b - r ) / delta );
367-
368-
} else {
369-
370-
hue = 4 + ( ( r - g ) / delta );
371263
}
372264

373-
hue /= 6;
265+
hsl.h = hue;
266+
hsl.s = saturation;
267+
hsl.l = lightness;
374268

375-
if ( hue < 0 ) {
269+
return hsl;
376270

377-
hue += 1;
271+
};
378272

379-
}
273+
}(),
380274

381-
if ( hue > 1 ) {
275+
offsetHSL: function ( h, s, l ) {
382276

383-
hue -= 1;
277+
var hsl = this.getHSL();
384278

385-
}
279+
hsl.h += h; hsl.s += s; hsl.l += l;
386280

387-
}
388-
389-
if ( hsv === undefined ) {
281+
this.setHSL( hsl.h, hsl.s, hsl.l );
390282

391-
hsv = { h: 0, s: 0, v: 0 };
392-
393-
}
394-
395-
hsv.h = hue;
396-
hsv.s = saturation;
397-
hsv.v = value;
398-
399-
return hsv;
283+
return this;
400284

401285
},
402286

test/unit/math/Color.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -180,25 +180,3 @@ test( "setHSL", function () {
180180
ok( hsl.s == 1.00, "saturation: " + hsl.s );
181181
ok( hsl.l == 0.25, "lightness: " + hsl.l );
182182
});
183-
184-
test( "getHSV", function(){
185-
var c = new THREE.Color('maroon');
186-
var hsv = c.getHSV();
187-
188-
ok( hsv.h == 0, "hue: " + hsv.h );
189-
ok( hsv.s == 1, "saturation: " + hsv.s );
190-
ok( (Math.round(parseFloat(hsv.v)*100)/100) == 0.5,
191-
"value: " + hsv.v );
192-
});
193-
194-
test( "setHSV", function(){
195-
var c = new THREE.Color();
196-
c.setHSV(0, 1, 1);
197-
var hsv = c.getHSV();
198-
ok( hsv.h == 0, "hue: " + hsv.h );
199-
ok( hsv.s == 1, "saturation: " + hsv.s );
200-
ok( hsv.v == 1, "value: " + hsv.v );
201-
});
202-
203-
// xxx todo more hsv tests
204-

utils/build/includes/extras.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
[
2-
"src/extras/ColorUtils.js",
32
"src/extras/GeometryUtils.js",
43
"src/extras/ImageUtils.js",
54
"src/extras/SceneUtils.js",

0 commit comments

Comments
 (0)