载入中...
搜索中...
未找到
DisplayOutput.cpp
浏览该文件的文档.
1#include "graphics/Graphics.h"
3
4#include <cmath>
5
6namespace eve::graphics {
7
9 if (mode != DisplayOutputMode::Sdr && mode != DisplayOutputMode::Auto &&
12 "Unknown display output mode",
13 "graphics.presentation"));
16 "This backend does not support display HDR present",
17 "graphics.presentation"));
18 displayOutputMode_ = mode;
20 return Result<void>::success();
21}
22
23Result<void> Graphics::setDisplayHdrCalibration(float paperWhiteNits, float peakNits) {
24 if (!std::isfinite(paperWhiteNits) || !std::isfinite(peakNits))
26 "Display HDR calibration must be finite",
27 "graphics.presentation"));
28 display::clampCalibration(paperWhiteNits, peakNits);
29 displayPaperWhiteNits_ = paperWhiteNits;
30 displayPeakNits_ = peakNits;
31 return Result<void>::success();
32}
33
38
48
49} // namespace eve::graphics
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
Move-only operation result carrying either a value or Status.
Definition Result.h:155
static Result success(T value)
Construct a successful result owning value.
Definition Result.h:164
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
virtual Result< DisplayOutputSupport > queryDisplayOutputSupport() const
Query which present formats the current surface can offer.
virtual DisplayColorSpace getActiveDisplayColorSpace() const
Color space of the live swapchain after the last rebuild.
virtual float getDisplayPaperWhiteNits() const
Paper-white luminance in nits for HDR present encoding.
virtual float getDisplayPeakNits() const
Peak luminance in nits for HDR present encoding.
virtual Result< void > setDisplayHdrCalibration(float paperWhiteNits, float peakNits)
Set paper-white and peak luminance used by HDR present encoding.
virtual bool isDisplayHdrActive() const
True when the live swapchain is scRGB or HDR10.
DisplayOutputMode
Requested swapchain present preference.
Definition Graphics.h:1327
virtual DisplayOutputMode getDisplayOutputMode() const
Return the requested present preference.
DisplayColorSpace activeDisplayColorSpace_
Definition Graphics.h:2254
DisplayColorSpace
Color space actually selected for the live swapchain.
Definition Graphics.h:1329
DisplayOutputMode displayOutputMode_
Definition Graphics.h:2253
virtual Result< void > setDisplayOutputMode(DisplayOutputMode mode)
Request a present color space on the graphics/render thread.
void clampCalibration(float &paperWhiteNits, float &peakNits) noexcept
Clamp paper-white / peak luminance into the engine-supported range.
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Surface present formats the current device/window can offer.
Definition Graphics.h:1331