summaryrefslogtreecommitdiffstats
path: root/o3d
Commit message (Collapse)AuthorAgeFilesLines
* linux: add an option to disable FBO support for platforms that don't have it.piman@google.com2010-02-014-3/+25
| | | | | | Review URL: http://codereview.chromium.org/551218 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37737 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: add missing -D to dpkg-buildpackage command line to enable build ↵tschmelcher@chromium.org2010-02-011-0/+1
| | | | | | | | | | dependency checks. TEST=removed cdbs, built, and verified a build-dep error is reported; trybot Review URL: http://codereview.chromium.org/552244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37704 0039d316-1c4b-4281-b951-d872f2087c98
* Add Debian/Ubuntu packages back to Linux build.tschmelcher@chromium.org2010-01-2923-220/+245
| | | | | | | | | | | Thanks go to Jeff Bailey for writing most of this CL. Also, bump version to 0.1.43.1 so that it exceeds the version of the previous O3D packages. TEST=build, install, and run on Ubuntu Review URL: http://codereview.chromium.org/556071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37561 0039d316-1c4b-4281-b951-d872f2087c98
* linux: fixes for the glsl rendererpiman@google.com2010-01-295-10/+11
| | | | | | Review URL: http://codereview.chromium.org/549203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37552 0039d316-1c4b-4281-b951-d872f2087c98
* Update O3D DEPS to pull in current Nixysa.maf@google.com2010-01-291-1/+1
| | | | | | Review URL: http://codereview.chromium.org/557052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37544 0039d316-1c4b-4281-b951-d872f2087c98
* fix v8 issues by not adding explicit () in eval unless it's necessary.piman@google.com2010-01-291-15/+20
| | | | | | Review URL: http://codereview.chromium.org/557055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37499 0039d316-1c4b-4281-b951-d872f2087c98
* linux: arm fixespiman@google.com2010-01-295-37/+6
| | | | | | Review URL: http://codereview.chromium.org/549104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37497 0039d316-1c4b-4281-b951-d872f2087c98
* win: fix DXSDK include path, needs to be after platform sdk include pathpiman@google.com2010-01-286-5/+7
| | | | | | Review URL: http://codereview.chromium.org/554110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37384 0039d316-1c4b-4281-b951-d872f2087c98
* force nacl_standalone=1 for windows - nacl needs itpiman@google.com2010-01-271-0/+3
| | | | | | Review URL: http://codereview.chromium.org/556037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37240 0039d316-1c4b-4281-b951-d872f2087c98
* linux: use internal libjpeg for bots that don't have itpiman@google.com2010-01-271-0/+1
| | | | | | Review URL: http://codereview.chromium.org/549169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37230 0039d316-1c4b-4281-b951-d872f2087c98
* linux: roll deps for armpiman@google.com2010-01-274-10/+47
| | | | | | Review URL: http://codereview.chromium.org/552063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37225 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix crash in Firefox at plugin unload time when more than one O3D ↵tschmelcher@chromium.org2010-01-203-7/+21
| | | | | | | | | | | | instance is running. The problem here was that Firefox has a bug where closing a tab actually deletes the parent windows of the plugin _before_ calling NPP_Destroy(), and Gtk recursively destroys all children automatically. Hence, once NPP_Destroy() runs our X11 Window handle is already invalid. If there is another O3D instance running in the same browser process, then performing the TearDown() call requires a MakeCurrent() call on the Window handle, which will fail with GLXBadDrawable and kill the browser. The solution requires two things. First, to avoid Gtk recursively destroying the children, we explicitly open a separate X11 connection for our GtkPlug, which means a destroy on the parents does not automatically propagate to the children because it has to go through the X server first. Second, we register a callback with our GtkPlug to handle this event from the X server by turning our GtkPlug into a hidden unparented window rather than destroying it. Unrelatedly, also make fullscreen windows be set_keep_above and fix some spurious unref() calls (which produced warnings but otherwise were mostly harmless). TEST=opening and closing concurrent ping pong windows in FF and Chrome (64-bit) Review URL: http://codereview.chromium.org/553028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36650 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the missing BoundingBox docs. gman@chromium.org2010-01-132-2/+2
| | | | | | | | | | | The issue was we use the marshaled type for classes that define a marsheled function and there are cases, like the boundingbox where we don't want that to happen. Review URL: http://codereview.chromium.org/548001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36071 0039d316-1c4b-4281-b951-d872f2087c98
* Fix docs typo "steam" -> "stream"gman@chromium.org2010-01-081-1/+1
| | | | | | Review URL: http://codereview.chromium.org/538001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35846 0039d316-1c4b-4281-b951-d872f2087c98
* This change removes CG from O3D and uses GLSLgman@chromium.org2010-01-0828-1172/+1938
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of HLSL. The current "hack" for shaders is that the shader string you supply to Effect::LoadFromFXString requires the lines // #o3d SplitMarker \n" Above which is the vertex shader and below which is the fragment shader. Since GLSL has no semantics the names are used for semantics so to get an automatically supplied worldViewProjection you must name the uniform worldViewProjection as in uniform mat4 worldViewProjection Similarly for attributes (vertex streams) you must name them to match O3D semantics as in attribute vec4 texcoord1 attribute vec3 normal etc. Included in this is one working sample in o3d/samples/hellocube-glsl.html Other things: Added a glsl field to clientInfo so that a program can check if it needs to supply GLSL or HLSL. eg client.clientInfo.glsl == true Updated the O3D libraries to store that info in o3djs.base.glsl so that the libaries can be modified to supply GLSL if we want. Note: To run this on windows you must copy glew32.dll and glut32.dll to <AppData>...\Mozilla\plugins To get this to actually work in GLES2 will require (*) renaming a few functions (*) telling O3D there is no NPOT support or if possible no NPOT support unless the texture has only 1 level. (*) removing LargeGeometry and FloatingPointTexture support. (*) Making it link with the GLES2 code Review URL: http://codereview.chromium.org/527028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35845 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: implement setting cursor typetschmelcher@chromium.org2010-01-083-11/+83
| | | | | | Review URL: http://codereview.chromium.org/527024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35764 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: bring back the RPATH setting that was deleted by the GYP transition. ↵tschmelcher@chromium.org2010-01-062-6/+41
| | | | | | | | | | Also, make both it and the envvars path be configurable with GYP_DEFINES, and disable the envvars file by default for the Chrome built-in build (since we don't want an external file at /opt/google/o3d controlling Chrome's behaviour). Also specify --gc-sections for the shared library to reduce size. TEST=built shared library and verified that RPATH is set and envvars parsing is compiled-in; verified library is usable; verified that variables can be overridden; verified that --gc-sections reduces size Review URL: http://codereview.chromium.org/517052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35644 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Terence's namegman@google.com2010-01-061-1/+1
| | | | | | Review URL: http://codereview.chromium.org/515038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35621 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed deadlocks occurring in Chrome during O3D teardown when O3D is inkbr@google.com2009-12-221-1/+13
| | | | | | | | | | | | full-screen mode and another plugin on the page is making an NPAPI call. Deferred O3D's window destruction to work around this issue. Tested O3D and related tests in all browsers; this fixes the deadlock and seems to not introduce any other instability. Review URL: http://codereview.chromium.org/502097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35134 0039d316-1c4b-4281-b951-d872f2087c98
* Rename all GLES2 classes from ___GL to ___GLES2gman@chromium.org2009-12-1723-724/+761
| | | | | | Review URL: http://codereview.chromium.org/500086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34801 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for Windows standalone buildgman@chromium.org2009-12-161-8/+3
| | | | | | | TBR=apatrick@google.com git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34746 0039d316-1c4b-4281-b951-d872f2087c98
* Step 1 in Adding GLES2 renderer to O3D.gman@google.com2009-12-1638-0/+7025
| | | | | | | | | | | | | | | | | | | | | This step does only copies the GL files to a GLES2 folder. It's still actually the GL renderer at this point but it's the smallest step for getting something that builds and a place to start working. The next step will be to rename all the classes from xxxGL to xxxGLES2 At some point CG will be removed as well One other thing slipped in there. A standalone build path to help generate a C++ only example of using O3D. It's currently only a placeholder. Review URL: http://codereview.chromium.org/500070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34744 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up the rendering of manipulators.simonrad@chromium.org2009-12-121-108/+240
| | | | | | | | | | | | Creates a consistent setup for the shaders. Allows us to use phong or constant shaders or both, and still do highlighting correctly. BUG=none TEST=none Review URL: http://codereview.chromium.org/492026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34416 0039d316-1c4b-4281-b951-d872f2087c98
* New code needs some NULL checks so we don't crash FireFox on 10.6.maf@google.com2009-12-111-5/+9
| | | | | | Review URL: http://codereview.chromium.org/492016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34367 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the manipulator samples so that the common javascript code is ↵simonrad@chromium.org2009-12-114-756/+312
| | | | | | | | | | | | | | | included from a js file. There is only one function that is specialized for each sample. The function is referenced in the js file but not defined. It is then defined in each html file. R=kbr BUG=none TEST=none Review URL: http://codereview.chromium.org/487019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34312 0039d316-1c4b-4281-b951-d872f2087c98
* Don't screw up the retain count on the original WindowRef referenced by the ↵maf@google.com2009-12-101-0/+11
| | | | | | | | | copy we make of the browser NSWindow. We were accidentally disposing the dummy window in the plugin process that Chrome makes. Review URL: http://codereview.chromium.org/486021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34303 0039d316-1c4b-4281-b951-d872f2087c98
* linux: enabling fontspiman@chromium.org2009-12-102-30/+4
| | | | | | | | 'Cause, guess what, they work now. Review URL: http://codereview.chromium.org/492001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34274 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for O3Djs build break.simonrad@chromium.org2009-12-101-3/+8
| | | | | | | | | | | tbr=kbr BUG=none TEST=none Review URL: http://codereview.chromium.org/487013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34266 0039d316-1c4b-4281-b951-d872f2087c98
* Add line stippling and add functionality to the CameraController.simonrad@chromium.org2009-12-106-172/+406
| | | | | | | | | | | | - Added optional line stippling based on texCoords to the rotate1 line ring shader. - Redesigned the CameraController and added the ability to zoom, dolly, dolly-zoom, and pan using the mouse. BUG=none TEST=none Review URL: http://codereview.chromium.org/486003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34235 0039d316-1c4b-4281-b951-d872f2087c98
* Changes the classlist to be hierarchical.gman@chromium.org2009-12-083-5/+70
| | | | | | Review URL: http://codereview.chromium.org/460097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34095 0039d316-1c4b-4281-b951-d872f2087c98
* Check that texture being bound is not the currentgman@chromium.org2009-12-082-0/+15
| | | | | | | | render surface. Review URL: http://codereview.chromium.org/469011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34033 0039d316-1c4b-4281-b951-d872f2087c98
* Add obscured / unobscured rendering togman@chromium.org2009-12-054-169/+215
| | | | | | | | | | | | | | | manipulators. I only did it on the rotate1 manipulators because it was easy. On the translate ones you either need to put each shape on it's own transform so you can set the parameters different or you need the materials to use different named parameters. Review URL: http://codereview.chromium.org/463025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33900 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a bug in the docs generation for overloadedgman@chromium.org2009-12-046-11/+34
| | | | | | | | | | | | | | | | | | functions. The issue is that JavaScript has no concept of overloaded functions. Nixysa was merging them for compilation by the JSCompiler but it needs to keep them separate for docs. To fix the issue an option was added to nixysa to rename overloaded functions with the suffix xxxOVERLOAD<num>xxx. The docs generators then remove the suffix where appropriate. Review URL: http://codereview.chromium.org/462039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33859 0039d316-1c4b-4281-b951-d872f2087c98
* Minor docs fixgman@chromium.org2009-12-041-56/+57
| | | | | | Review URL: http://codereview.chromium.org/460065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33790 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes the compiled o3djs libraries.gman@chromium.org2009-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | The issue was that lineprimitves.js creates an object that inherits from something in primitives.js but because it appeared first in the compiled version the inherit command failed since the object it inherited from was not yet defined. It might be possible to make build_docs.py move all the inherit commands to the end of the compiled o3djs libs. I'll have to look into it. In the meantime here is a manual fix. Review URL: http://codereview.chromium.org/464030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33773 0039d316-1c4b-4281-b951-d872f2087c98
* Creates a CameraController class, and makes the Rotate1 manipulator use line ↵simonrad@chromium.org2009-12-036-158/+675
| | | | | | | | | | | | | | | | | geometry. - Creates a basic CameraController class. It allows the user to rotate the camera around a center position using the mouse, and outputs a view matrix. - Changes the Rotate1 manipulator to display as line geometry. Adds a line ring primitive and a special shader. - Merges changes to Rotate1 sample into Translate1+2 samples as well. We probably should refactor the samples so we don't have duplicate code. R=gman,kbr BUG=none TEST=none Review URL: http://codereview.chromium.org/465023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33747 0039d316-1c4b-4281-b951-d872f2087c98
* TBR=kbr@google.comgman@chromium.org2009-12-031-5/+5
| | | | | | | | I missed one of your comments in the last CL Review URL: http://codereview.chromium.org/464009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33636 0039d316-1c4b-4281-b951-d872f2087c98
* Updates the picking library to have a PickManager andgman@chromium.org2009-12-038-128/+307
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | support both not picking invisible objects and the option to pick even if invisible. The idea is you can do something like this // Make a picking manager var pm = o3djs.picking.createPickManager(rootTransform); ... // add a bunch of transforms. // generate picking objects. pm.update(); // Get the picking object that was created for some specific transform var info = pm.getTransformInfo(someTransform); // Set properties on that object related to picking info.pickEvenIfInvisible = true; I think this is just a first step. How an object should be defined as pickable is up for debate. As it is, you can basically override info.isPickable. as in info.isPickable = function() { // do something custom. } You can also start adding things easier like info.onPick = function() { // do something. } and then write code like info = pm.pick(worldRay); if (info) { info.onPick(); } While you could have done that before there was no easy way to find a the TransformInfo for a specific Transform. Now you can use PickManager.getTransformInfo Review URL: http://codereview.chromium.org/452027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33632 0039d316-1c4b-4281-b951-d872f2087c98
* Remove attempt to uninstall lib{Cg,CgGL} libs since we are not installing ↵nmaxwell@chromium.org2009-12-021-7/+4
| | | | | | | | those. Remove libo3dautoplugin.so properly. Review URL: http://codereview.chromium.org/431010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33586 0039d316-1c4b-4281-b951-d872f2087c98
* TBR=kbr@google.comgman@chromium.org2009-12-012-2/+2
| | | | | | | | | Fix for last CL I was testing in the wrong client :-( git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33388 0039d316-1c4b-4281-b951-d872f2087c98
* Make primitives and lineprimitives sharegman@chromium.org2009-11-302-131/+111
| | | | | | | | the implemtation of createShape Review URL: http://codereview.chromium.org/453010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33367 0039d316-1c4b-4281-b951-d872f2087c98
* Fix 2 issues in docs buildinggman@chromium.org2009-11-302-28/+33
| | | | | | | | | | | 1) Object type specifications "Object<index, type>" were broken 2) The js compiler would create a partial base.js even on failure which means the next build would skip building the docs. Review URL: http://codereview.chromium.org/457011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33366 0039d316-1c4b-4281-b951-d872f2087c98
* Deleted gpu process and command buffer code from O3D tree. Now resides in ↵apatrick@google.com2009-11-25141-39533/+0
| | | | | | | | Chrome tree at src/gpu. Review URL: http://codereview.chromium.org/442013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33115 0039d316-1c4b-4281-b951-d872f2087c98
* Separate the line primitive stuff out of debug.jsgman@chromium.org2009-11-254-426/+491
| | | | | | | | | | | and into lineprimitives.js. I refactored to code to share a lot of stuff with primitive.js. Review URL: http://codereview.chromium.org/435039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33041 0039d316-1c4b-4281-b951-d872f2087c98
* Update the manipulator rotate1 example to usegman@chromium.org2009-11-254-76/+151
| | | | | | | | | | | | | | | | | | | | a separate transform graph and render graph from the main scene's. two more things 1) added a scale to one transform in the scene to show an issue with manipulators that might need to be fixed 2) changed the material used by the manipulators to be constant. This is on the path to making the manipulators be line primitives instead of geometry. Review URL: http://codereview.chromium.org/434060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33040 0039d316-1c4b-4281-b951-d872f2087c98
* Added new way of dragging the Rotate1 manipulator (linear mapping in screen ↵simonrad@chromium.org2009-11-242-60/+119
| | | | | | | | | | | space). BUG=none TEST=none Review URL: http://codereview.chromium.org/413007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32958 0039d316-1c4b-4281-b951-d872f2087c98
* Updates GLES Imlementation to use Antoine's cool gman@chromium.org2009-11-245-204/+244
| | | | | | | | | | | | | | FencedAllocator to manage the transfer buffer with less waiting. Also updates glBufferData to use glBufferSubData to send data as well as glTexImage2D to use glTexSubImage2D. These make it possible to pass any size image or buffer data. Review URL: http://codereview.chromium.org/436020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32949 0039d316-1c4b-4281-b951-d872f2087c98
* Updates demo to one that uses a texture.gman@chromium.org2009-11-2418-1289/+1728
| | | | | | | | | This excersized more code and found several bugs. Review URL: http://codereview.chromium.org/437020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32891 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for gcc. Removed unused file.apatrick@google.com2009-11-232-941/+1
| | | | | | Review URL: http://codereview.chromium.org/434012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32864 0039d316-1c4b-4281-b951-d872f2087c98
* Added torus primitive and Rotate1 manipulator.simonrad@chromium.org2009-11-203-34/+556
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/395012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32596 0039d316-1c4b-4281-b951-d872f2087c98