summaryrefslogtreecommitdiffstats
path: root/o3d/samples/scatter-chart.html
diff options
context:
space:
mode:
authorgman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-01 04:21:40 +0000
committergman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-01 04:21:40 +0000
commit70c8e97a69ef8806b1812b2cd0ebe831f3792cb6 (patch)
tree4c5b5e5b71ce99f91910b3fd569443f0f07a4e72 /o3d/samples/scatter-chart.html
parent13a8961bf84b7132e2ae588ea644bf7b8012fe75 (diff)
downloadchromium_src-70c8e97a69ef8806b1812b2cd0ebe831f3792cb6.zip
chromium_src-70c8e97a69ef8806b1812b2cd0ebe831f3792cb6.tar.gz
chromium_src-70c8e97a69ef8806b1812b2cd0ebe831f3792cb6.tar.bz2
Update samples to use more utility functions where
appropriate. A few places used pseudoRandom. That is in math.js now so they use that. Other places there is now o3djs.material.createBasicMaterial and o3djs.material.createMaterialFromFile that save 10-20 lines per sample. This CL will require new reference images. There are 2 other things I'd like to consider. #1) Changing every sample that uses shaders/texture-only.shader to use o3djs.material.createConstantMaterial or some variation. The problem with o3djs.material.createConstantMaterial is it requires you pass it a texture if you want a constant textured material. All the samples create the material first, then later add the texture. So, I could add a new o3djs.material.createTextureOnlyMaterial. At the same time that would mean changing those samples from setting stuff on 'texSampler0' to 'emissive' #2) I'd like to change the shader builder so it stops adding "Sampler" to textured materials. As it is if the material uses a color it makes the param called "diffuse" but if it's a texture it makes it "diffuseSampler". That sucks because it means the code has to do crap like var param = material.getParam('diffuse'); if (param) { // it's a color } else { param = material.getParam('diffuseSampler'); if (param) { // it's a texture. } } If we stopped that silliness we could just do var param = material.getParam('diffuse'); if (param) { if (param.isA('o3d.ParamTexture')) { // it's textured. } else { // it's not. } } Unfortunately to fix this requires changing the o3dConverter as well since it uses those conventions. Should we do this? Review URL: http://codereview.chromium.org/182024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25015 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/samples/scatter-chart.html')
-rw-r--r--o3d/samples/scatter-chart.html34
1 files changed, 3 insertions, 31 deletions
diff --git a/o3d/samples/scatter-chart.html b/o3d/samples/scatter-chart.html
index a1f5f8d..6aa7743 100644
--- a/o3d/samples/scatter-chart.html
+++ b/o3d/samples/scatter-chart.html
@@ -50,7 +50,7 @@ o3djs.require('o3djs.util');
o3djs.require('o3djs.math');
o3djs.require('o3djs.quaternions');
o3djs.require('o3djs.rendergraph');
-o3djs.require('o3djs.effect');
+o3djs.require('o3djs.material');
o3djs.require('o3djs.primitives');
o3djs.require('o3djs.arcball');
o3djs.require('o3djs.event');
@@ -149,7 +149,8 @@ function initGlobals(clientElements) {
clearColor);
// Create a material for the objects rendered.
- g_material = createPhongMaterial([1, 1, 1, 1]);
+ g_material = o3djs.material.createBasicMaterial(
+ g_pack, g_viewInfo, [1, 1, 1, 1]);
// Create a cube shape to simulate the scatter points.
g_cubeShape = o3djs.primitives.createCube(
@@ -192,35 +193,6 @@ function resetView() {
}
/**
- * Creates a phong material based on the given single color.
- * @param {Array} baseColor An array with 4 entries, the R,G,B, and A components
- * of a color.
- * @return {!o3d.Material} A phong material whose overall pigment is baseColor.
- */
-function createPhongMaterial(baseColor) {
- // Create a new, empty Material object.
- var material = g_pack.createObject('Material');
-
- var lightPosition = [1000, 2000, 3000];
- o3djs.effect.attachStandardShader(
- g_pack, material, lightPosition, 'phong');
-
- material.drawList = g_viewInfo.performanceDrawList;
-
- // Assign parameters to the phong material.
- material.getParam('emissive').value = [0, 0, 0, 1];
- material.getParam('ambient').value =
- [.1 * baseColor[0], .1 * baseColor[1], .1 * baseColor[2], 1];
- material.getParam('diffuse').value =
- [.9 * baseColor[0], .9 * baseColor[1], .9 * baseColor[2], 1];
- material.getParam('specular').value = [.5, .5, .5, 1];
- material.getParam('shininess').value = 50;
- material.getParam('lightColor').value = [1, 1, 1, 1];
-
- return material;
-}
-
-/**
* Create a 3D Scatter object by plotting each data point on a 3D model.
*/
function createScatterObject() {