Skip to content

Commit

Permalink
Add the possibility to add environment map to self-hosted viewer.
Browse files Browse the repository at this point in the history
  • Loading branch information
kovacsv committed Jul 20, 2021
1 parent 7b33f77 commit e49bd60
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 8 deletions.
9 changes: 9 additions & 0 deletions sandbox/embed_selfhost_externallibs.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,15 @@
style="width: 360px; height: 240px;"
model="../../test/testfiles/gltf/Box/glTF-Draco/Box.gltf,../../test/testfiles/gltf/Box/glTF-Draco/Box.bin">
</div>
<div class="online_3d_viewer"
style="width: 360px; height: 240px;"
model="../../test/testfiles/gltf/DamagedHelmet/glTF-Binary/DamagedHelmet.glb">
</div>
<div class="online_3d_viewer"
style="width: 360px; height: 240px;"
model="../../test/testfiles/gltf/DamagedHelmet/glTF-Binary/DamagedHelmet.glb"
environmentmap="../website/assets/envmaps/fishermans_bastion/posx.jpg,../website/assets/envmaps/fishermans_bastion/negx.jpg,../website/assets/envmaps/fishermans_bastion/posy.jpg,../website/assets/envmaps/fishermans_bastion/negy.jpg,../website/assets/envmaps/fishermans_bastion/posz.jpg,../website/assets/envmaps/fishermans_bastion/negz.jpg">
</div>
</body>

</html>
38 changes: 30 additions & 8 deletions source/viewer/domviewer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
OV.Init3DViewerElement = function (parentDiv, modelUrls, camera, backgroundColor, defaultColor)
OV.Init3DViewerElement = function (parentDiv, modelUrls, parameters)
{
if (!parameters) {
parameters = {};
}

let canvas = document.createElement ('canvas');
parentDiv.appendChild (canvas);

Expand Down Expand Up @@ -33,8 +37,8 @@ OV.Init3DViewerElement = function (parentDiv, modelUrls, camera, backgroundColor
return true;
});
viewer.AdjustClippingPlanes (boundingSphere);
if (camera !== null) {
viewer.SetCamera (camera);
if (parameters.camera) {
viewer.SetCamera (parameters.camera);
} else {
viewer.SetUpVector (importResult.upVector, false);
}
Expand All @@ -61,13 +65,17 @@ OV.Init3DViewerElement = function (parentDiv, modelUrls, camera, backgroundColor
return null;
}

if (backgroundColor !== null) {
viewer.SetBackgroundColor (backgroundColor);
if (parameters.backgroundColor) {
viewer.SetBackgroundColor (parameters.backgroundColor);
}

if (parameters.environmentMap) {
viewer.SetEnvironmentMap (parameters.environmentMap);
}

let settings = new OV.ImportSettings ();
if (defaultColor !== null) {
settings.defaultColor = defaultColor;
if (parameters.defaultColor) {
settings.defaultColor = parameters.defaultColor;
}

loader.LoadFromUrlList (modelUrls, settings);
Expand Down Expand Up @@ -99,13 +107,27 @@ OV.Init3DViewerElements = function (onReady)
defaultColor = OV.ParameterConverter.StringToColor (defaultColorParams);
}

let environmentMap = null;
let environmentMapParams = element.getAttribute ('environmentmap');
if (environmentMapParams) {
let environmentMapParts = environmentMapParams.split (',');
if (environmentMapParts.length === 6) {
environmentMap = environmentMapParts;
}
}

let modelUrls = null;
let modelParams = element.getAttribute ('model');
if (modelParams) {
modelUrls = OV.ParameterConverter.StringToModelUrls (modelParams);
}

return OV.Init3DViewerElement (element, modelUrls, camera, backgroundColor, defaultColor);
return OV.Init3DViewerElement (element, modelUrls, {
camera,
backgroundColor,
defaultColor,
environmentMap
});
}

let viewerElements = [];
Expand Down

0 comments on commit e49bd60

Please sign in to comment.