Grouping the StandardMaterial parameters

I’m trying to wrap my head around all the StandardMaterial parameters. To do so, I thought I’d group them according to how (I think) they’re related. These roughly correspond to some of the deep dive documentation, but occasionally cuts across them. It’s still a work in progress, and it take some mind twisting to fit all parameters neatly into these two tables. Comments / critiques welcome.

The first table is horizontally- and vertically-related groups of major visual characteristic (diffuse et.al.) followed by major capability (decal, detail, stencil, animation) with lightMap last (as really a performace enhancement).

Edit: the third table includes most programming, performance, and event properties/methods.

I hope the formatting comes through and is useful and clear.

Edit: pulled in parallax, added row labels, labels separating sections.
Edit: moved processing to feature, added fog

This second table roughly groups (only vertically) by visual effect (e.g. alpha) overriding effect (e.g. pointCloud / wireframe, fillMode) or other efficiency or effect.

Edit: added some groupings within columns, removed “import” label, moved parallax and invertNormal to first table (related to bump / normals).

Alpha Mode identification clip / cull / depth position / orientation camera shadow
useAlphaFromDiffuseTexture pointsCloud / pointSize id Clip zOffset cameraContrast shadowDepthWrapper
opacityTexture wireframe name clipPlane zOffsetUnits cameraExposure
alphaCutOff fillMode uniqueId clipPlane2 - clipPlane6 ClockWiseSideOrientation Tone
alpha LineListDrawMode Cull CounterClockWiseSideOrientation cameraToneMappingEnabled
alphaMode LineLoopDrawMode backFaceCulling sideOrientation Curves
ALPHA_DISABLE LineStripDrawMode cullBackFaces cameraColorCurves
ALPHA_ADD PointListDrawMode separateCullingPass cameraColorCurvesEnabled
ALPHA_COMBINE TriangleFanDrawMode Depth Grading
ALPHA_SUBTRACT TriangleStripDrawMode depthFunction cameraColorGradingTexture
ALPHA_MULTIPLY PointFillMode disableDepthWrite cameraColorGradingEnabled
ALPHA_MAXIMIZED TriangleFillMode forceDepthWrite
ALPHA_ONEONE WireFrameFillMode needDepthPrePass
ALPHA_PREMULTIPLIED useLogarithmicDepth
ALPHA_PREMULTIPLIED_PORTERDUFF
ALPHA_INTERPOLATE
ALPHA_SCREENMODE
transparencyMode
MATERIAL_ALPHABLEND
MATERIAL_ALPHATEST
MATERIAL_ALPHATESTANDBLEND
MATERIAL_NORMALBLENDMETHOD_RNM
MATERIAL_NORMALBLENDMETHOD_WHITEOUT
MATERIAL_OPAQUE

And for completion, here are the properties and methods for programming, events, dirty flags and performance.

Edit: added groupings within each column.
Edit: upon review, I missed quite a few properties. Added the ones I missed, going from 36 → 71 in this table.
Edit: Modified Programming properties, moved a couple to Performance. Subdivided into a few more categories.

Note that the groupings lean towards purpose and topic rather than data type. E.g. observables and flags are spread among the topics rather than gathered under a single heading. Not all properties are invisible (in particular, twoSidedLighting), but most are. For visible properties, see the first two tables.

1 Like