42 bool mStatsEnabled =
false;
55 const std::shared_ptr<DrawableObjectVector>& v,
59 ParentViewer::setDrawableObjectVector(v);
66 mPBRSettings = settings;
69 std::string panoramaFileName()
const {
return mPanorama.imageFileName(); }
71 void setPanorama(
const std::string&
panorama)
76 void onDrawContent(
uint viewId)
override
79 settings.viewId = viewId;
81 settings.pbrSettings = mPBRSettings;
83 settings.environment = &mPanorama;
85 setViewTransform(viewId);
88 DirectionalLightUniforms::bind();
90 ViewerDrawerUniforms::setExposure(mPBRSettings.
exposure);
91 ViewerDrawerUniforms::setToneMapping(mPBRSettings.
toneMapping);
92 ViewerDrawerUniforms::setSpecularMipsLevels(
93 mPanorama.specularMipLevels());
94 ViewerDrawerUniforms::bind();
99 ParentViewer::drawableObjectVector().draw(settings);
102 void onDrawId(
uint viewId)
override
105 settings.objectId = ParentViewer::id();
106 settings.viewId = viewId;
108 setViewTransform(viewId);
110 ParentViewer::drawableObjectVector().drawId(settings);
115 if (key == Key::F1) {
117 mStatsEnabled =
false;
121 mStatsEnabled =
true;
125 ParentViewer::onKeyPress(key,
modifiers);
128 void onMouseDoubleClick(
136 if (
button == MouseButton::LEFT) {
145 void setViewTransform(
uint viewId)
152 bgfx::setViewTransform(viewId,
vm.data(),
pm.data());
static Context & instance(void *windowHandle=nullptr, void *displayHandle=nullptr)
Return the context instance.
Definition context.cpp:371
void drawBackground(uint viewId, const PBRViewerSettings &settings) const
Draws the environment in the background.
Definition drawable_environment.cpp:65