Open pjcozzi opened 10 years ago
This checklist makes me think there’s a tech blog post about this topic? I’m looking for some background on the topics mentioned in https://github.com/AnalyticalGraphicsInc/cesium/wiki/Screen-Space-Rendering-Details i.e., czm_getFilter
etc.
There's not a blog post about this, but general Cesium graphics blog posts are here: http://cesiumjs.org/blog.html#webgl
Ah ok. Just to make sure: magic like this https://github.com/AnalyticalGraphicsInc/cesium/wiki/Screen-Space-Rendering-Details#example-filter-chain-scripts is just hypothetical right? This kind of post-rendering doesn’t exist right now?
@fasiha that is a roadmap; it is not implemented, except for an incomplete prototype from a few years ago: https://github.com/AnalyticalGraphicsInc/cesium/compare/postprocess-hook
Current offline uses cases
Current runtime use cases
czm_getMaterial
(for materials),czm_computePosition
(for the geometry pipeline), andczm_getFilter
(for post processing).#define
s for uber-shaders.main
renaming for picking viacreatePickFragmentShaderSource
for per-instance show in Primitive.js.Items
highp
for everything is suboptimal for mobile. See Fast Mobile Shaders. Should be benchmark and optimize existing shaders?Ideas
Done
czm_
functions, types, and constants. Preserve useful line numbers with#line
.#define
-based uber-shaders easier to use, i.e., no explicit string concatenation.GLSL optimization. Similar to glTF #34.How hard is it to integrate this and below into our build?Do we notice the performance improvement on different hardware, including mobile?Does this or minification (below) affect shader compile/link time?Reading