Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modern animation system #2

Closed
wants to merge 148 commits into from
Closed

Modern animation system #2

wants to merge 148 commits into from

Conversation

bhouston
Copy link
Owner

No description provided.

GGAlanSmithee and others added 30 commits July 16, 2015 08:31
Clear the target data before pushing new vertices and faces
Provide a clone method to the specialized geometries in
src/extras/geometry, otherwise:
- the `.parameters` are not copied
- the `.type` of the clone is "Geometry" or "BufferGeometry"
- the cloned object is not an instance of the initial type. It loses its
specialization and becomes a plain `Geometry` or `BufferGeometry`.

Class deriving from `PolyhedronGeometry` defined  `this.parameters` all
over the place. Standardize to defining the `.type` and `.parameters`
after the `PolyhedronGeometry` constructor is called.

Also fix prototype inheritance chain for classes deriving from
`PolyhedronGeometry`.
Add more geometries to ObjectLoader.js and pass down missing parameters
to constructors for `CircleGeometry` and `CylinderGeometry`.
- Parameterized geometry (e.g. BoxGeometry) should not clone the base
properties of Geometry.
- CubeTexture: Clone is parameterless.
Covers construction, cloning, json import/export. Use lodash from npm.
- reverts back to the original text, removing any mention about setPixelRatio
- adds information about how to render an app at lower resolution using updateStyle
- replaces mentions of "game" with "app"
corrects missleading information in "creating a scene" example
make sure uniforms don't get loaded when they are not in the shader
OrbitControls takes care of the DOM, input binding and event handling.

OrbitConstraint is responsible for keeping the camera on an orbit, maintaining its orientation towards the target and updating the camera and target position.

There is only one insignificant API change. Before, dolly / rotate functions could be called without parameters to engage autoRotate / autoSpeed. OrbitConstraint does not support that. Now, OrbitControls must provide these parameter explicitly to OrbitConstraint. As far as I can tell, those methods were only used internally and should not be part of the control API.

OrbitControls extends OrbitConstraint. In my ideal implementation, OrbitConstraint should be a property of the OrbitControls, but using inheritence help preserve the existing interface.

OrbitConstraint is not included in the `THREE` namespace. It is defined in a closure and private to this file. It could also the placed in `extras\constraints`, along with other contraints that could be extracted from the current controls, and maybe other type of constraints on the object position/displacement (constrain movement to plane, to path, collision).

These constraints should not necessarily be limited to cameras; they could apply to any objects. It's not clear to me how all this will shape up, but this is a nice place to pause and ask for feedback before going forward.
@bhouston bhouston closed this Aug 3, 2015
bhouston pushed a commit that referenced this pull request Jul 20, 2016
* Update index.html

* Revert "Update index.html"

This reverts commit 76f4786.

* added options for gammaInput and gammaOutput

* added storage for gammaInput and gammaOutput

* added gammaInOut values to json export

* further adds

added gammaInOutput options to the app and fixed them not loading on
page reload

* dang that was wrong
Jozain pushed a commit that referenced this pull request Dec 23, 2016
bhouston pushed a commit that referenced this pull request Feb 24, 2017
bhouston pushed a commit that referenced this pull request Mar 15, 2017
Update webgl_geometry_shapes.html
bhouston added a commit that referenced this pull request Jul 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.