Comments (3)
@jjhembd Can you please take a look at this (if you aren't already)? It would be great if we could fix this regression before the next release.
from cesium.
The model has the following value set in the KHR_materials_specular
extension:
"KHR_materials_specular": {
"specularColorFactor": [
2,
2,
2
]
},
Before version 1.118, CesiumJS did not support this extension at all.
If I remove the specularColorFactor
from the glTF and load in 1.118, the model renders as before:
It is not immediately clear to me what the impact of the specularColorFactor
should be in this case. But we could potentially have an error somewhere in #11970
from cesium.
The KHR_materials_specular
extension spec is... quite elaborate and math/shader-heavy, so I can not quickly say anything profound. A few things that caught my attention:
- The
specularFactor
is constrained tominimum:0.0, maximum:1.0
- The
specularColorFactor
does not have amaximum
. I found that strange at the first glance, and considered that this might have been omitted accidentally, but... - Quickly skimming over the spec text brings up the Materials with reflectance parameter section, which says
... Typically, the reflectance ranges from 0% to 8%, given as a value in range [0,1], ...
...
Therefore, by encoding an additional constant factor of 2 inspecularColorFactor
, we can convert from reflectance to specular color without any loss.
So that might explain where these 2, 2, 2
are coming from (and why there is no maximum: 1.0
... even though I'd ask whether there should be a maximum: 2.0
then ...).
Maybe the possibility of these values being >1.0 is not taken into account properly.
(As a preliminary workaround, I posted a version of the model in the forum where the KHR_materials_specular
extension was removed, just to at least have the option to render it properly (or at least "better") for now...)
from cesium.
Related Issues (20)
- Icons missing in deployed sandcastle HOT 2
- Turn off direct lighting when environment maps are supplied
- Verify BRDF for image-based lighting HOT 3
- Error in Terrain Sandcastle for VRTheWorld data
- Bad error handling causing issues in Angular
- Bugs on the Polygon textureCoordinates attribute HOT 1
- 3D Gaussian Splatting HOT 1
- protobufjs new version 7.3.1 delete dist dir, cesium run error. HOT 4
- Exports not found in '@cesium/engine' HOT 2
- Some SceneTransforms functions docs do not correctly reflect implementation HOT 1
- 加载了倾斜摄影,有时候会卡死 HOT 1
- DataCloneError: Failed to execute 'postMessage' on 'Worker': [object Array] could not be cloned. HOT 1
- I have a question about Polygon's textureCoordinates (Irregular vertical plane) HOT 1
- load a local ArcGIS terrain service with ArcGISTiledElevationTerrainProvider results in an infinite loop
- Polygon Triagulation Problem when Crossing the IDL
- Viewer Crashes on Scene.pick when globe.clippingPolygon is enabled
- GPU memory is freed but CPU memory is not. Basically once a tile is created it is never destroyed, only its contents are destroyed
- Test Failure: 'u_normalTextureScale' : undeclared identifier
- CesiumJS should not use `push.apply` for potentially large arrays
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cesium.