scenejs
scenejs copied to clipboard
SceneJS creates a lot of global variables
In working with some of the examples, I noticed that SceneJS creates a lot of global variables. In the Quick Start teapot, for example, SceneJS creates the 138 global variables listed below.
The naming convention used for these variables lends itself well to modularization. I could imaging the library creating a single SceneJS object with everything else nested as properties of that object, e.g. SceneJS_Canvas becomes SceneJS.Canvas, SceneJS_error becomes SceneJS.error, SceneJS_math_Frustum becomes SceneJS.math.Frustum, etc. This could make it much cleaner to include SceneJS in other pages.
The full list of global variables created by SceneJS in the teapot example:
- SceneJS
- SceneJS_Canvas
- SceneJS_Chunk
- SceneJS_ChunkFactory
- SceneJS_Core
- SceneJS_CoreFactory
- SceneJS_Display
- SceneJS_Engine
- SceneJS_Map
- SceneJS_NodeFactory
- SceneJS_Object
- SceneJS_ObjectFactory
- SceneJS_Program
- SceneJS_ProgramFactory
- SceneJS_ProgramSource
- SceneJS_ProgramSourceFactory
- SceneJS_PubSubProxy
- SceneJS_configsModule
- SceneJS_error
- SceneJS_eventManager
- SceneJS_events
- SceneJS_math_AxisBox3
- SceneJS_math_Box3
- SceneJS_math_Frustum
- SceneJS_math_FrustumPlane
- SceneJS_math_INSIDE_FRUSTUM
- SceneJS_math_INTERSECT_FRUSTUM
- SceneJS_math_LOOKAT_ARRAYS
- SceneJS_math_LOOKAT_OBJ
- SceneJS_math_MAX_DOUBLE
- SceneJS_math_MIN_DOUBLE
- SceneJS_math_ORTHO_OBJ
- SceneJS_math_OUTSIDE_FRUSTUM
- SceneJS_math_Plane3
- SceneJS_math_Sphere3
- SceneJS_math_addMat4
- SceneJS_math_addMat4Scalar
- SceneJS_math_addScalarMat4
- SceneJS_math_addScalarVec4
- SceneJS_math_addVec3
- SceneJS_math_addVec3s
- SceneJS_math_addVec4
- SceneJS_math_addVec4s
- SceneJS_math_angleAxisFromQuaternion
- SceneJS_math_angleAxisQuaternion
- SceneJS_math_billboardMat
- SceneJS_math_conjugateQuaternion
- SceneJS_math_cross3Vec3
- SceneJS_math_cross3Vec4
- SceneJS_math_determinantMat4
- SceneJS_math_diagonalMat4c
- SceneJS_math_diagonalMat4s
- SceneJS_math_diagonalMat4v
- SceneJS_math_divScalarVec3
- SceneJS_math_divScalarVec4
- SceneJS_math_divVec3
- SceneJS_math_divVec3s
- SceneJS_math_divVec4
- SceneJS_math_divVec4s
- SceneJS_math_dotVector2
- SceneJS_math_dotVector3
- SceneJS_math_dotVector4
- SceneJS_math_dupMat4
- SceneJS_math_frustumMat4v
- SceneJS_math_frustumMatrix4
- SceneJS_math_getCellMat4
- SceneJS_math_getColMat4
- SceneJS_math_getRowMat4
- SceneJS_math_identityMat4
- SceneJS_math_identityQuaternion
- SceneJS_math_inverseMat4
- SceneJS_math_isIdentityMat4
- SceneJS_math_lenVec2
- SceneJS_math_lenVec3
- SceneJS_math_lenVec4
- SceneJS_math_lerpVec3
- SceneJS_math_lookAtMat4c
- SceneJS_math_lookAtMat4v
- SceneJS_math_m4s
- SceneJS_math_mat4
- SceneJS_math_mat4To3
- SceneJS_math_mulMat4
- SceneJS_math_mulMat4s
- SceneJS_math_mulMat4v4
- SceneJS_math_mulQuaternions
- SceneJS_math_mulVec2Scalar
- SceneJS_math_mulVec3Scalar
- SceneJS_math_mulVec4
- SceneJS_math_mulVec4Scalar
- SceneJS_math_negateMat4
- SceneJS_math_negateVector4
- SceneJS_math_newMat4FromQuaternion
- SceneJS_math_normalizeQuaternion
- SceneJS_math_normalizeVec2
- SceneJS_math_normalizeVec3
- SceneJS_math_normalizeVec4
- SceneJS_math_orthoMat4c
- SceneJS_math_perspectiveMatrix4
- SceneJS_math_projectVec4
- SceneJS_math_rcpVec3
- SceneJS_math_rotationMat4c
- SceneJS_math_rotationMat4v
- SceneJS_math_scalingMat4c
- SceneJS_math_scalingMat4s
- SceneJS_math_scalingMat4v
- SceneJS_math_setCellMat4
- SceneJS_math_setColMat4Scalar
- SceneJS_math_setColMat4c
- SceneJS_math_setColMat4v
- SceneJS_math_setMat4ToOnes
- SceneJS_math_setMat4ToZeroes
- SceneJS_math_setRowMat4
- SceneJS_math_setRowMat4c
- SceneJS_math_setRowMat4s
- SceneJS_math_slerp
- SceneJS_math_sqLenVec2
- SceneJS_math_sqLenVec3
- SceneJS_math_sqLenVec4
- SceneJS_math_subMat4
- SceneJS_math_subMat4Scalar
- SceneJS_math_subScalarMat4
- SceneJS_math_subScalarVec4
- SceneJS_math_subVec2
- SceneJS_math_subVec3
- SceneJS_math_subVec4
- SceneJS_math_subVec4Scalar
- SceneJS_math_traceMat4
- SceneJS_math_transformPoint3
- SceneJS_math_transformPoints3
- SceneJS_math_transformVector3
- SceneJS_math_transformVector4
- SceneJS_math_translationMat4c
- SceneJS_math_translationMat4s
- SceneJS_math_translationMat4v
- SceneJS_math_transposeMat4
- SceneJS_modelXFormStack
- SceneJS_nodeEventsModule
- SceneJS_sceneStatusModule
+1