载入中...
搜索中...
未找到
Graphics.cpp
浏览该文件的文档.
106Mesh* newMeshFromArraysScript(Graphics* gfx, ssq::Array posArr, ssq::Array nrmArr, ssq::Array uvArr, int vertexCount,
114 return gfx->newMeshFromArrays(pos.data(), nrm.empty() ? nullptr : nrm.data(), uv.empty() ? nullptr : uv.data(),
118bool updateMeshVerticesScript(Graphics* gfx, Mesh* mesh, ssq::Array posArr, ssq::Array nrmArr, ssq::Array uvArr,
145void setMesh3DCameraPosScript(Graphics* gfx, float x, float y, float z) { gfx->setMesh3DCameraPos(glm::vec3(x, y, z)); }
212 const bool doAA = !renderControl_ || renderControl_->isEnabled("aa") || renderControl_->isEnabled("taa");
215 const std::string requested = renderControl_ ? renderControl_->getPostProcessQuality() : "high";
229void Graphics::drawScene3DRGBA(float x, float y, float w, float h, float r, float g, float b, float a) {
275 "DepthOfField", std::function<DepthOfField*()>([]() -> DepthOfField* { return nullptr; }), true);
288 table.addClass<Font>("GraphicsFont", std::function<Font*()>([]() -> Font* { return nullptr; }), true);
307 table.addClass<MapFog>("MapFog", std::function<MapFog*()>([]() -> MapFog* { return nullptr; }), true);
336 table.addClass<Texture>("Texture", std::function<Texture*()>([]() -> Texture* { return nullptr; }), true);
348 auto meshCls = table.addClass<Mesh>("Mesh", std::function<Mesh*()>([]() -> Mesh* { return nullptr; }), true);
350 meshCls.addFunc("getIndexCount", std::function<int(Mesh*)>([](Mesh* mesh) { return mesh->indexCount; }));
362 auto quad = table.addClass<Quad>("Quad", std::function<Quad*()>([]() -> Quad* { return nullptr; }), true);
369 auto shader = table.addClass<Shader>("Shader", std::function<Shader*()>([]() -> Shader* { return nullptr; }), true);
579 table.addClass<Material>("Material", std::function<Material*()>([]() -> Material* { return nullptr; }), true);
584 [vm = table.getHandle()](Material* self, float red, float green, float blue, float intensity, float strength,
587 vm, self->setFoliageTranslucency(red, green, blue, intensity, strength, normalDistortion, scattering,
590 material.addFunc("setFoliageWindTime", [vm = table.getHandle()](Material* self, float seconds) {
600 [](Material* self, Texture* albedoAtlas, Texture* normalAtlas, Texture* pageTable, int pageCountX,
650 table.addClass<GBuffer>("GBuffer", std::function<GBuffer*()>([]() -> GBuffer* { return nullptr; }), true);
662 "RenderControl", std::function<RenderControl*()>([]() -> RenderControl* { return nullptr; }), true);
705 rctrl.addFunc("getGBuffer", static_cast<GBuffer* (RenderControl::*)()>(&RenderControl::getGBuffer));
757 [vm = table.getHandle()](Volumetric* value, Graphics* graphics, Texture* depth, Texture* cookie,
759 auto result = value ? value->projectDirectionalCookie(graphics, depth, cookie, worldSize, intensity)
876 auto detailOverwrite = table.addClass<grass::TerrainDetailOverwriteSettings>("TerrainDetailOverwriteSettings");
877 detailOverwrite.addVar("pcgDetailDistance", &grass::TerrainDetailOverwriteSettings::pcgDetailDistance);
878 detailOverwrite.addVar("pcgFadeoutDistance", &grass::TerrainDetailOverwriteSettings::pcgFadeoutDistance);
879 detailOverwrite.addVar("unityDetailDistance", &grass::TerrainDetailOverwriteSettings::unityDetailDistance);
880 detailOverwrite.addVar("unityDetailDensity", &grass::TerrainDetailOverwriteSettings::unityDetailDensity);
886 grassField.addFunc("bakePlane", static_cast<void (GrassField::*)(float, float, int, int)>(&GrassField::bakePlane));
905 [vm = table.getHandle()](GrassField* field, const grass::TerrainDetailOverwriteSettings& settings) {
914 grassField.addFunc("getPhotoModeDensity", [](const GrassField* field) { return field->getPhotoModeDensity(); });
915 grassField.addFunc("getPhotoModeDistance", [](const GrassField* field) { return field->getPhotoModeDistance(); });
922 "GroomInstance", std::function<hair::GroomInstance*()>([]() -> hair::GroomInstance* { return nullptr; }), true);
924 groomInstance.addFunc("draw", static_cast<void (hair::GroomInstance::*)()>(&hair::GroomInstance::draw));
938 groomInstance.addFunc("setClusterCullingEnabled", &hair::GroomInstance::setClusterCullingEnabled);
939 groomInstance.addFunc("isClusterCullingEnabled", &hair::GroomInstance::isClusterCullingEnabled);
941 groomInstance.addFunc("getActiveRepresentation", &hair::GroomInstance::getActiveRepresentation);
952 groomInstance.addFunc("isGuideSimulationEnabled", &hair::GroomInstance::isGuideSimulationEnabled);
990 std::function<ReflectionProbeCapture*()>([]() -> ReflectionProbeCapture* { return nullptr; }), true);
1012 probeCapture.addFunc("setEnvironmentLighting", &ReflectionProbeCapture::setEnvironmentLighting);
1013 probeCapture.addFunc("getEnvironmentLighting", &ReflectionProbeCapture::getEnvironmentLighting);
1014 probeCapture.addFunc("getEnvironmentLightingIntensity", &ReflectionProbeCapture::getEnvironmentLightingIntensity);
1019 probeCapture.addFunc("setSkyFaceTextureScale", &ReflectionProbeCapture::setSkyFaceTextureScale);
1020 probeCapture.addFunc("getSkyFaceTextureScale", &ReflectionProbeCapture::getSkyFaceTextureScale);
1027 probeCapture.addFunc("getLastCapturedFaceCount", &ReflectionProbeCapture::getLastCapturedFaceCount);
1028 probeCapture.addFunc("getTotalCapturedFaceCount", &ReflectionProbeCapture::getTotalCapturedFaceCount);
1029 probeCapture.addFunc("getLastFilterSampleCount", &ReflectionProbeCapture::getLastFilterSampleCount);
1033 probeCapture.addFunc("getSmoothedGpuDurationMs", &ReflectionProbeCapture::getSmoothedGpuDurationMs);
1035 probeCapture.addFunc("getAdaptiveFilterSamples", &ReflectionProbeCapture::getAdaptiveFilterSamples);
1043 probeCapture.addFunc("getInfluenceBlendDistance", &ReflectionProbeCapture::getInfluenceBlendDistance);
1045 probeCapture.addFunc("applyConfiguredToCamera", &ReflectionProbeCapture::applyConfiguredToCamera);
1052 probeCapture.addFunc("setCaptureLodDistanceScale", &ReflectionProbeCapture::setCaptureLodDistanceScale);
1053 probeCapture.addFunc("getCaptureLodDistanceScale", &ReflectionProbeCapture::getCaptureLodDistanceScale);
1056 probeCapture.addFunc("setCaptureClusteredLighting", &ReflectionProbeCapture::setCaptureClusteredLighting);
1057 probeCapture.addFunc("getCaptureClusteredLighting", &ReflectionProbeCapture::getCaptureClusteredLighting);
1060 std::function<ReflectionProbeRegistry*()>([]() -> ReflectionProbeRegistry* { return nullptr; }), true);
1066 probeRegistry.addFunc("getLastCapturedFaceCount", &ReflectionProbeRegistry::getLastCapturedFaceCount);
1067 probeRegistry.addFunc("getLastPublishedCount", &ReflectionProbeRegistry::getLastPublishedCount);
1068 probeRegistry.addFunc("setSelectionHysteresis", &ReflectionProbeRegistry::setSelectionHysteresis);
1069 probeRegistry.addFunc("getSelectionHysteresis", &ReflectionProbeRegistry::getSelectionHysteresis);
1070 probeRegistry.addFunc("getLastCandidateCount", &ReflectionProbeRegistry::getLastCandidateCount);
1071 probeRegistry.addFunc("setDistanceCullingEnabled", &ReflectionProbeRegistry::setDistanceCullingEnabled);
1072 probeRegistry.addFunc("getDistanceCullingEnabled", &ReflectionProbeRegistry::getDistanceCullingEnabled);
1078 probeRegistry.addFunc("getLastDistanceCulledCount", &ReflectionProbeRegistry::getLastDistanceCulledCount);
1083 auto water = table.addClass<Water>("Water", std::function<Water*()>([]() -> Water* { return nullptr; }), true);
1085 auto waterMeshSettings = table.addClass("WaterMeshSettings", ssq::Class::Ctor<WaterMeshSettings()>());
1093 "setType", [](WaterMeshSettings* value, int type) { value->type = static_cast<WaterMeshType>(type); });
1094 auto waterGradient = table.addClass("WaterDepthGradient", ssq::Class::Ctor<WaterDepthGradient()>());
1095 waterGradient.addFunc("addColorStop", [vm = table.getHandle()](WaterDepthGradient* value, float time, float red,
1102 waterGradient.addFunc("addAlphaStop", [vm = table.getHandle()](WaterDepthGradient* value, float time, float alpha) {
1109 table.addFunc("calculateWaterMeshTriangles", [vm = table.getHandle()](const WaterMeshSettings* settings) {
1115 water.addFunc("createProceduralMesh", [vm = table.getHandle()](Water* value, const WaterMeshSettings* settings) {
1123 "setDepthGradient", [vm = table.getHandle()](Water* value, const WaterDepthGradient* gradient, int resolution) {
1166 water.addFunc("applyConfigJson", [vm = table.getHandle()](Water* value, const std::string& json) {
1170 return eve::script::projectResult(vm, value->configJson(), [](std::string json) { return json; });
1185 "AmbientOcclusion", std::function<AmbientOcclusion*()>([]() -> AmbientOcclusion* { return nullptr; }), true);
1224 table.addClass<Outline>("Outline", std::function<Outline*()>([]() -> Outline* { return nullptr; }), true);
1248 "GlobalIllumination", std::function<GlobalIllumination*()>([]() -> GlobalIllumination* { return nullptr; }),
1274 std::function<ScreenSpaceReflection*()>([]() -> ScreenSpaceReflection* { return nullptr; }), true);
1296 static_cast<void (ScreenSpaceReflection::*)(Graphics*, Texture*, Texture*, Texture*, Texture*, Canvas*)>(
1301 "AntiAliasing", std::function<AntiAliasing*()>([]() -> AntiAliasing* { return nullptr; }), true);
1340 static_cast<Texture* (Graphics::*)(image::ImageData*, bool, bool)>(&Graphics::newTextureFromImageData));
1343 [](Graphics* self, Renderable3D* renderable, image::ImageData* data, bool repeatU, bool repeatV) -> Texture* {
1352 cls.addFunc("updateTextureFromImageData", [](Graphics* self, Texture* texture, image::ImageData* data) {
1360 static_cast<void (Graphics::*)(Texture*, const std::string&, const std::string&, float, float)>(
1370 std::function<bool(Graphics*, Mesh*, ssq::Array, ssq::Array, ssq::Array, int, ssq::Array, int)>(
1373 cls.addFunc("newShader", static_cast<Shader* (Graphics::*)(const std::string&)>(&Graphics::newShader));
1375 cls.addFunc("newMeshShader", static_cast<Shader* (Graphics::*)(const std::string&)>(&Graphics::newMeshShader));
1390 [vm = cls.getHandle()](Graphics* self, Material* material, float directionX, float directionZ, float strength,
1394 vm, self->configureFoliageWind(material, directionX, directionZ, strength, bending, bendingSpeed,
1403 cls.addFunc("setMesh3DViewProj", std::function<void(Graphics*, ssq::Array)>(setMesh3DViewProjScript));
1405 cls.addFunc("setMesh3DCameraPos", std::function<void(Graphics*, float, float, float)>(setMesh3DCameraPosScript));
1500ScreenSpaceReflection* Graphics::newScreenSpaceReflection() { return new ScreenSpaceReflection(this); }
1537void Graphics::setSceneDepthOfField(float focusDistance, float maximumBlurPixels, float focusRange, float nearPlane,
1552 const std::string requested = renderControl_ ? renderControl_->getPostProcessQuality() : "high";
1562 if (!spatialAAResolve_ || spatialAAResolveWidth_ != width || spatialAAResolveHeight_ != height) {
1573 Texture* depth = getBackendName() == "webgpu" ? gb->getDepthTexture() : gb->getHwDepthTexture();
1576 pipelineDepthOfField()->apply(resolved, depth, getSceneDofFocusDistance(), getSceneDofMaxBlur(),
1582 resolved = pipelineBloom()->apply(resolved, getSceneBloomIntensity(), getSceneBloomThreshold());
1615Mesh* Graphics::newHairCardMesh(float width, float height) { return hair::newCardMesh(this, width, height); }
1617Material* Graphics::newHairCardMaterial(Texture* albedo) { return hair::makeCardMaterial(this, albedo, nullptr); }
1630ReflectionProbeCapture* Graphics::newReflectionProbeCapture() { return new ReflectionProbeCapture(this); }
1632ReflectionProbeRegistry* Graphics::newReflectionProbeRegistry() { return new ReflectionProbeRegistry(); }
1711void Graphics::setBackgroundColorRGBA(float r, float g, float b, float a) { setBackgroundColor(Color(r, g, b, a)); }
1722void Graphics::drawTexturedRectRotatedRGBA(Texture* texture, float cx, float cy, float w, float h, float degrees,
1737Texture* Graphics::newTextureFromImageData(image::ImageData* data, bool repeatU, bool repeatV) {
1739 if (data->getFormat() != "RGBA8") throw eve::Exception("newTextureFromImageData: only RGBA8 supported");
1743 return newTexture(data->getWidth(), data->getHeight(), static_cast<const uint8_t*>(data->getData()), info);
1746Texture* Graphics::newTextureFromImageData(image::ImageData* data, const TextureCreateInfo& info) {
1748 if (data->getFormat() != "RGBA8") throw eve::Exception("newTextureFromImageData: only RGBA8 supported");
1749 return newTexture(data->getWidth(), data->getHeight(), static_cast<const uint8_t*>(data->getData()), info);
1752eve::Result<void> Graphics::updateTextureFromImageData(Texture* texture, image::ImageData* data) {
1762 if (!updateTexture(texture, data->getWidth(), data->getHeight(), static_cast<const uint8_t*>(data->getData())))
1764 eve::DiagnosticCode::Failed, "texture is not owned by this backend, dimensions differ, or upload failed",
1838Texture* Graphics::newTextureFromFileRepeated(const std::string& filename, bool repeatU, bool repeatV) {
1842 if (!fileData) throw eve::Exception("newTextureFromFileRepeated: failed to read '%s'", filename.c_str());
1848Texture* Graphics::newTextureWithSampler(image::ImageData* data, bool repeatU, bool repeatV, bool generateMipmaps,
1864void Graphics::setTextureSampler(Texture* texture, const std::string& filter, const std::string& mipmap,
1868 if (filter != "nearest" && filter != "Nearest" && filter != "NEAREST" && filter != "linear" && filter != "Linear" &&
1887Font* Graphics::newFont(font::FontData* data, std::string charset) { return new Font(this, data, std::move(charset)); }
Stable, structured diagnostics shared by engine modules.
std::array< std::uint64_t, kPixelChunkSize *kPixelChunkSize > updated
Definition PixelWorld.cpp:53
The single Squirrel projection for common Result, Status and Value.
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary.
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
eve::Result< void > request(std::string key)
Queue a cache miss load without blocking for decode to finish.
Definition Resource.cpp:149
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
CPU-side decoded font face (FreeType FT_Face + owned font bytes). Does not upload to GPU — rasterize ...
Definition FontData.h:25
Reusable two-texture alpha mask for immediate 2D composition.
Definition AlphaMask.h:12
void draw(Texture *color, Texture *mask, float x, float y, float width, float height, float r=1.f, float g=1.f, float b=1.f, float a=1.f)
Draw a color texture multiplied by a same-UV alpha mask.
Definition AlphaMask.cpp:72
void setThreshold(float threshold)
Set the mask cutoff in normalized alpha space.
Definition AlphaMask.cpp:57
Linear-HDR bloom pyramid with selectable Karis/tent or Gaussian/scatter reconstruction.
Definition Bloom.h:42
float screenToWorldY(float screenX, float screenY, float viewW, float viewH)
Definition RenderSystem.cpp:124
float worldToScreenY(float worldX, float worldY, float viewW, float viewH)
Definition RenderSystem.cpp:136
float worldToScreenX(float worldX, float worldY, float viewW, float viewH)
Definition RenderSystem.cpp:130
float screenToWorldX(float screenX, float screenY, float viewW, float viewH)
Convert screen pixel (origin top-left of viewport) to world coordinates. viewW/viewH are the current ...
Definition RenderSystem.cpp:118
void setAmbient(float r, float g, float b)
Definition RenderSystem.cpp:99
void setPosition(float x, float y)
World-space look-at center and zoom (1 = identity).
Definition RenderSystem.cpp:106
void setBloom(float intensity, float threshold=1.f)
Configure HDR bloom. Zero intensity disables it.
Definition RenderSystem3D.cpp:307
float getScreenRayOriginY()
Definition RenderSystem3D.cpp:463
void setShadowLayerCullDistance(int layer, float distance)
Set the shadow-caster cull distance for one render layer; zero disables it.
Definition RenderSystem3D.cpp:267
float getEnvProbeExtentX()
Definition RenderSystem3D.cpp:344
void setDepthOfField(float focusDistance, float maxBlurPx, float focusRange=8.f)
Configure Gaussian depth-of-field on the final HDR resolve.
Definition RenderSystem3D.cpp:316
float getFocalLength()
Return physical-camera focal length in millimetres.
Definition RenderSystem3D.cpp:252
void setLayerCullDistance(int layer, float distance)
Set the camera cull distance for one render layer; zero disables the override.
Definition RenderSystem3D.cpp:253
float getDofMaxBlur()
Return DOF max blur in texels (0 when disabled).
Definition RenderSystem3D.cpp:326
float getScreenRayOriginZ()
Definition RenderSystem3D.cpp:464
void setReflectionProbe(int slot, Texture *cubemap, float centerX, float centerY, float centerZ, float extentX, float extentY, float extentZ, float intensity=1.f, float blendDistance=1.f, int priority=0)
Configure one local reflection probe slot.
Definition RenderSystem3D.cpp:348
float getBloomThreshold()
Return bloom threshold in linear HDR units.
Definition RenderSystem3D.cpp:314
void setPerspective()
Return to perspective projection, retaining the configured field of view.
Definition RenderSystem3D.cpp:235
float getExposure()
Return exposure compensation in photographic stops.
Definition RenderSystem3D.cpp:296
float getEnvProbeCenterY()
Definition RenderSystem3D.cpp:342
float getEnvProbeCenterX()
Definition RenderSystem3D.cpp:341
void setUp(float x, float y, float z)
Definition RenderSystem3D.cpp:219
void setOrthographic(float height)
Enable an orthographic projection with the given vertical world-space span.
Definition RenderSystem3D.cpp:230
void clearEnvProbe()
Disable box projection and return to an infinite-distance environment.
Definition RenderSystem3D.cpp:335
float getEnvProbeExtentZ()
Definition RenderSystem3D.cpp:346
void clearReflectionProbe(int slot)
Disable one local reflection probe slot.
Definition RenderSystem3D.cpp:362
void setPhysicalLens(float aperture, float focalLength)
Set positive physical-camera aperture and focal length metadata.
Definition RenderSystem3D.cpp:244
float getEnvProbeExtentY()
Definition RenderSystem3D.cpp:345
void screenToRay(float screenX, float screenY, float viewW, float viewH)
Build a world-space picking ray from a screen pixel. Stores origin (camera eye) and normalized direct...
Definition RenderSystem3D.cpp:410
void setExposure(float ev)
Set exposure compensation in photographic stops. Positive values brighten.
Definition RenderSystem3D.cpp:294
float getLayerCullDistance(int layer)
Return the camera cull-distance override for one render layer.
Definition RenderSystem3D.cpp:261
void setEnvIntensity(float intensity)
Definition RenderSystem3D.cpp:292
void setEnvProbe(float centerX, float centerY, float centerZ, float extentX, float extentY, float extentZ)
Enable box-projected IBL for the camera environment cubemap.
Definition RenderSystem3D.cpp:329
void setAutoExposure(bool enabled, float minEV=-8.f, float maxEV=8.f)
Enable log-average automatic exposure and set its EV clamp range.
Definition RenderSystem3D.cpp:298
void setTarget(float x, float y, float z)
Definition RenderSystem3D.cpp:208
float getShadowLayerCullDistance(int layer)
Return the shadow-caster cull-distance override for one render layer.
Definition RenderSystem3D.cpp:275
void clearDepthOfField()
Disable depth-of-field while retaining the current focus settings.
Definition RenderSystem3D.cpp:323
void setAmbient(float r, float g, float b)
Definition RenderSystem3D.cpp:283
int getReflectionProbeCount()
Return the number of enabled local reflection probes.
Definition RenderSystem3D.cpp:367
void setEye(float x, float y, float z)
Definition RenderSystem3D.cpp:197
bool hasEnvProbe()
True when all three box-probe extents are positive.
Definition RenderSystem3D.cpp:337
float getEnvProbeCenterZ()
Definition RenderSystem3D.cpp:343
void setEnvMap(Texture *cube)
Specular IBL cubemap (Graphics::newCubemap). nullptr disables IBL.
Definition RenderSystem3D.cpp:290
void setClipPlanes(float nearZ, float farZ)
Set positive near/far clipping distances; far is kept beyond near.
Definition RenderSystem3D.cpp:237
float getScreenRayOriginX()
Definition RenderSystem3D.cpp:462
virtual Texture * getTexture()=0
Sampleable color buffer; screen Canvas returns nullptr.
Separable Gaussian depth-of-field for the final HDR scene.
Definition DepthOfField.h:18
Texture * apply(Texture *source, Texture *hwDepth, float focusDistance, float maxBlurPx, float focusRange, float nearZ, float farZ)
Apply separable Gaussian DOF.
Definition DepthOfField.cpp:76
Cross-backend min/max hardware-depth pyramid packed into one texture atlas.
Definition DepthPyramid.h:13
virtual void drawOcclusion(Graphics *gfx, const glm::mat4 &matrix) const
Draw as an opaque black silhouette for volumetric occlusion maps (screen-space god rays / light shaft...
Definition Drawable.h:37
virtual void draw(Graphics *gfx, const glm::mat4 &matrix) const =0
Draws the object with the specified transformation matrix.
bool getCastOcclusion() const
When false, skipped by Graphics::drawOcclusion / volumetric occluder passes.
Definition Drawable.h:28
GPU percentile metering, eye adaptation, and linear HDR pre-exposure.
Definition Exposure.h:13
void setExtinction(float extinction)
Signed extinction; negative values carve fog but total density is clamped.
Definition FogVolume.h:30
void setShape(const std::string &shape)
Set shape using "sphere", "box" or "cylinder"; unknown selects box.
Definition FogVolume.cpp:41
void setAlbedo(float r, float g, float b)
Single-scattering albedo, clamped to [0,1].
Definition FogVolume.cpp:60
void setEmissive(float r, float g, float b)
Unlit radiance emitted per unit density.
Definition FogVolume.cpp:64
void setEdgeFalloff(float falloff)
Fraction of normalized radius used for a smooth edge, in [0,1].
Definition FogVolume.cpp:72
void setSize(float x, float y, float z)
Set full world-space dimensions; values are clamped positive.
Definition FogVolume.cpp:56
void setNoise(float amount, float scale, int seed)
Configure deterministic world-space density variation.
Definition FogVolume.cpp:76
GPU-side font: wraps a decoded font::FontData and rasterizes a fixed set of codepoints into a single ...
Definition Font.h:35
bool hasGlyph(int codepoint) const
Whether codepoint was rasterized into this Font's atlas.
Definition Font.cpp:178
float getBaseline() const
Distance from the top of a line to the baseline (== getAscent()).
Definition Font.cpp:174
const Glyph * findGlyph(int codepoint) const
Returns nullptr if codepoint isn't in this Font's atlas.
Definition Font.cpp:180
float getHeight() const
Line height in pixels at the FontData's decoded pixel size.
Definition Font.cpp:172
float getWidth(const std::string &text) const
Pixel width of text (UTF-8), including kerning; delegates to FontData.
Definition Font.cpp:176
Screen-space buffers for mid/post effects and Hybrid deferred lighting.
Definition GBuffer.h:28
bool hasBuffer(const std::string &name) const
"depth" | "hwDepth" | "normal" | "albedo" | "pbrParams" | "emissive" | "velocity"
Definition GBuffer.cpp:9
Screen-space single-bounce GI (SSGI). @lifetime All texture arguments are borrowed for the duration o...
Definition GlobalIllumination.h:30
Definition Graphics.h:125
virtual void setDirectionalLight(float dx, float dy, float dz, float r=1.f, float g=1.f, float b=1.f)
Sets the directional light.
Definition Graphics.cpp:248
virtual void drawTexturedRectShaderUV(Texture *texture, Shader *shader, float x, float y, float w, float h, float u0, float v0, float u1, float v1, const Color &color, bool rotatedUV=false, BlendMode blend=BlendMode::Alpha)=0
UV draw with an explicit Shader (nullptr = default textured pipeline).
std::shared_ptr< PrimitiveScene > primitiveScene_
Definition Graphics.h:2265
bool recordingEngine3D_
True while RenderSystem3D is submitting (AO / engine overlays).
Definition Graphics.h:2249
virtual void drawScene3DRGBA(float x, float y, float w, float h, float r=1.f, float g=1.f, float b=1.f, float a=1.f)
Composite this frame's 3D scene color into a rect (screen or active Canvas). Call after render3D(); o...
Definition Graphics.cpp:229
virtual void renderScene3DToCanvas(Canvas *canvas, Camera3D *camera)
Preview-quality 3D pass into an offscreen Canvas (editor viewport): renders visible Renderable3D with...
Definition Graphics.cpp:203
Shader * prepareSceneColorResolveShader(Texture *scene)
FXAA resolve shader that writes opaque RGB (ignores scene-color depth alpha).
Definition Graphics.cpp:209
virtual void popValidationScope()=0
Pops validation scope.
virtual void pushValidationScope()=0
Backend hooks so the platform-independent render3D() can wrap its work in a GPU validation error scop...
virtual void drawCanvasRGBA(Canvas *canvas, float x, float y, float w, float h, float r=1.f, float g=1.f, float b=1.f, float a=1.f)
Draw a Canvas color buffer as a textured rect (same batch order as other 2D).
Definition Graphics.cpp:241
Material * newMaterial()
Create a Material asset (shading model + textures + PBR knobs). Caller owns Material*; not tracked by...
Definition Graphics.cpp:252
std::unique_ptr< RenderControl > renderControl_
Definition Graphics.h:2264
virtual void render3D()
Run RenderSystem3D (begin3DFrame + draw visible Renderable3D).
Definition Graphics.cpp:193
virtual void drawTexturedRect(Texture *texture, float x, float y, float w, float h, float r, float g, float b, float a=1.f)
RGBA-float overload matching the script-facing drawTexturedRect name.
Definition Graphics.cpp:1732
virtual Texture * getSceneColorTexture()
Sampleable 3D color target for the current frame (RGB = lit, A = linear depth). Valid after begin3DFr...
Definition Graphics.h:1047
RenderControl * getRenderControl()
Shared compilable 3D render control (features → pass list + GBuffer). Owned by Graphics; valid for th...
Definition Graphics.cpp:254
bool realizingFileTextures_
Definition Graphics.h:2240
Dense grass + sparse dark tufts on a mesh. Caller owns GrassField*; GPU Mesh / Shader / Texture are o...
Definition Grass.h:193
void setReflectionCaptureMask(uint32_t mask)
Set the reflection-capture visibility layer mask.
Definition Grass.h:288
void setFrameDuration(float seconds)
Definition Grass.cpp:714
uint32_t getReflectionCaptureMask() const
Return the reflection-capture visibility layer mask.
Definition Grass.h:290
bool getReflectionCaptureEnabled() const
Return whether this field is included in reflection-probe captures.
Definition Grass.h:286
Shader * getShader() const
Borrow the shader on the owner thread; valid until this field is destroyed.
Definition Grass.h:297
Mesh * getDenseMesh() const
Borrow the dense mesh on the owner thread; valid until this field rebakes or is destroyed.
Definition Grass.h:293
void setReflectionCaptureEnabled(bool enabled)
Enable or disable inclusion in reflection-probe captures.
Definition Grass.h:284
Texture * getAtlas() const
Borrow the atlas on the owner thread; valid until this field uploads another atlas or is destroyed.
Definition Grass.h:299
Mesh * getSparseMesh() const
Borrow the sparse mesh on the owner thread; valid until this field rebakes or is destroyed.
Definition Grass.h:295
void bakePlane(float sizeX, float sizeZ, int segX, int segZ)
Definition Grass.cpp:693
void setColor(float r, float g, float b, float intensity=1.f)
Definition Light.cpp:53
static Light2D * createEmissiveProxy(float x, float y, float r, float g, float b, float intensity=1.f, float radius=200.f)
Create a volumetric-only glow proxy (skips surface lighting).
Definition Light.cpp:15
void setVolumetricOnly(bool enabled)
Definition Light.cpp:85
void setVolumetricIntensity(float intensity)
Definition Light.cpp:80
void setSpotAngle(float degrees)
Outer half-angle of a spot cone in degrees (clamped to (0, 89]).
Definition Light.cpp:64
static Light2D * createLight(const std::string &type="point")
Definition Light.cpp:7
void setSpotAngle(float degrees)
Outer half-angle of a 3D spot cone in degrees (clamped to (0, 89]).
Definition Light.cpp:154
static Light3D * createEmissiveProxy(float x, float y, float z, float r, float g, float b, float intensity=1.f, float radius=8.f)
Create a volumetric-only point glow proxy for emissive props. Pair with a PBR emissive material + blo...
Definition Light.cpp:98
void setDirection(float dx, float dy, float dz)
Definition Light.cpp:132
float getVolumetricIntensity()
Definition Light.cpp:226
void setVolumetricOnly(bool enabled)
Definition Light.cpp:228
void setShadowStrength(float strength)
Definition Light.cpp:215
void setPosition(float x, float y, float z)
Definition Light.cpp:121
static Light3D * createLight(const std::string &type="point")
Definition Light.cpp:90
void setVolumetricIntensity(float intensity)
Definition Light.cpp:223
void setShadowMethod(const std::string &method)
Request a shadow technique: auto, none, csm, perspective, cube. Invalid names leave the previous meth...
Definition Light.cpp:170
void setColor(float r, float g, float b, float intensity=1.f)
Definition Light.cpp:143
void setSpotSoftness(float softness)
Softness of the spot penumbra in [0, 1].
Definition Light.cpp:159
std::string getShadowMethod()
Current shadow method name (auto / none / csm / perspective / cube).
Definition Light.cpp:197
SLG / large-map war-fog overlay driven by a dual-scrolling cloud texture and an RGBA mask bridge (R u...
Definition MapFog.h:18
void setShadowEnabled(bool enabled)
Enable the pre-pass cloud shadow (must draw before the main pass).
Definition MapFog.cpp:344
void setEdgeSoftness(float softness)
Soft edge half-width around the mask R threshold.
Definition MapFog.cpp:342
void draw(float x, float y, float width, float height)
Draw fog over a destination rectangle (shadow pass then main pass).
Definition MapFog.cpp:516
void setCloudMix(float mix)
Mix weight between the two scrolling cloud samples (0..1).
Definition MapFog.cpp:356
void setCloudTiling(float tileA, float tileB)
Dual-layer cloud tiling (layer A / B).
Definition MapFog.cpp:317
Texture * makeCloudTexture(int size=128)
Build a seamless procedural cloud noise texture owned by Graphics.
Definition MapFog.cpp:363
void setTime(float time)
Override the animated time used by cloud scroll (seconds).
Definition MapFog.cpp:306
void setDistortFix(float x, float y)
Correct additive UV drift introduced by distortion.
Definition MapFog.cpp:329
void setCloudTexture(Texture *cloud)
Set or replace the repeating cloud/color texture.
Definition MapFog.cpp:308
void setDistort(float amount)
Mask-UV distortion amount from desaturated cloud noise.
Definition MapFog.cpp:327
void setSelectStrength(float strength)
Selection blink amplitude for mask G.
Definition MapFog.cpp:352
void setCloudSpeed(float speedA, float speedB)
Dual-layer scroll speeds in UV units per second.
Definition MapFog.cpp:322
void setCloudDensity(float contrast, float bias)
Shape cloud alpha: contrast (soft→hard) and bias (coverage).
Definition MapFog.cpp:358
Texture * getMaskTexture() const
Return the current mask texture, or null if unset. @ownership Borrowed; ownership stays with the prov...
Definition MapFog.h:62
void setShadow(float offsetX, float offsetY, float strength)
Shadow UV offset and strength.
Definition MapFog.cpp:346
Texture * getCloudTexture()
Return the active cloud texture (never null after first ensureCloudTexture). @ownership Borrowed; Gra...
Definition MapFog.cpp:310
Packages shading method + surface parameters into one attachable asset.
Definition Material.h:35
void setNormalTexture(Texture *texture)
Set the borrowed material texture. @ownership Graphics factory owns the resource. @lifetime Keep aliv...
Definition Material.h:123
void setAlbedoTexture(Texture *texture)
Set the borrowed material texture. @ownership Graphics factory owns the resource. @lifetime Keep aliv...
Definition Material.h:112
bool hasParam(const std::string &name) const
Optional named float knobs (style / custom shader params).
Definition Material.cpp:148
Texture * getAlbedoTexture() const
Get the borrowed material texture. @ownership Graphics factory owns the resource. @lifetime Keep aliv...
Definition Material.h:117
void setAlphaTechnique(const std::string &technique)
Optional masked transparency quality: "cutoff", "dither", "coverage".
Definition Material.cpp:144
void setBlendMode(const std::string &mode)
Set "alpha", "premultiplied", "additive", or "multiply".
Definition Material.cpp:126
Texture * getNormalTexture() const
Get the borrowed material texture. @ownership Graphics factory owns the resource. @lifetime Keep aliv...
Definition Material.h:128
void setCameraFacing(bool enabled)
Keep a bottom-anchored card facing the active camera around world Y during GPU-driven draws.
Definition Material.h:277
void clearVirtualTexture()
Restore conventional albedo/normal/height interpretation.
Definition Material.cpp:40
bool getCameraFacing() const
Return whether GPU-driven card vertices use cylindrical camera-facing orientation.
Definition Material.h:279
void setSurfaceMode(const std::string &mode)
Set "opaque", "masked", or "transparent" surface classification.
Definition Material.cpp:109
void setShadingModel(const std::string &model)
"pbr" | "unlit" | "hair" | "custom" (unknown → pbr).
Definition Material.cpp:49
void setTexCellBomb(float cellScale, float strength, float rotAmount=1.f)
Sets the tex cell bomb.
Definition Material.cpp:80
Shader * getShader() const
Return the borrowed shader, or nullptr when the built-in path is active. @lifetime The pointer remain...
Definition Material.h:166
void setParallax(float scale, float minLayers=8.f, float maxLayers=32.f)
Sets the parallax.
Definition Material.cpp:86
void setShader(Shader *shader)
Set an optional Mesh3D / hair shader; nullptr selects the built-in shading path.
Definition Material.h:163
bool setMorphWeight(const std::string &name, float weight)
Sets the morph weight.
Definition Mesh.cpp:202
Screen-space model outline (t3ssel8r-style), computed from the GBuffer hardware depth + world-normal ...
Definition Outline.h:33
Pixel-space sub-rectangle of a Texture (atlas cell / sprite frame). UV conversion uses the texture's ...
Definition Quad.h:11
Incremental six-face HDR scene capture for a runtime reflection probe.
Definition ReflectionProbeCapture.h:26
Scene-level stable selection of published reflection probes for a camera.
Definition ReflectionProbeRegistry.h:14
void setPostProcessQuality(const std::string &quality)
Set the unified post-process quality for TAA, RTGI and SSR.
Definition RenderControl.h:151
void compile()
Rebuild the executable pass list from current feature flags.
Definition RenderControl.cpp:241
std::string getReflectionQuality() const
Return the shared TAA/RTGI/SSR quality preset.
Definition RenderControl.h:149
bool isDeferredLightingAvailable() const
True when deferredLighting can be inserted for Hybrid. Requires an attached Graphics backend that imp...
Definition RenderControl.cpp:92
std::string getPostProcessQuality() const
Return the unified post-process quality for TAA, RTGI and SSR.
Definition RenderControl.h:153
bool hasHybridLightingFallback() const
True after compile() when Hybrid was requested but could not run (deferred lighting unavailable or GB...
Definition RenderControl.h:121
std::string getPassName(int index) const
Return the compiled pass name at index, or an empty string.
Definition RenderControl.cpp:276
void setReflectionQuality(const std::string &quality)
Set the shared TAA/RTGI/SSR quality preset used by the automatic reflection chain.
Definition RenderControl.cpp:234
static void setDirectionalLight(float dx, float dy, float dz, float r, float g, float b)
Legacy single directional light used when no enabled Light3D exists.
Definition RenderSystem3D.cpp:469
static void renderToCanvas(Graphics &gfx, Canvas *target, Camera3D *camera, uint32_t reflectionCaptureMask=0xffffffffu, float lodDistanceScale=1.f, bool includeTransparent=true, bool useClusteredLighting=true, Texture *skyFaceTexture=nullptr, Mesh *skyQuad=nullptr, float skyFaceTextureScale=1.f)
Forward 3D pass into an offscreen canvas using multipart materials, LOD, masked surfaces and sorted t...
Definition RenderSystem3D.cpp:1728
Default renderable entity for declarative 2D sprites / solid quads.
Definition RenderSystem.h:71
void setCastOcclusion(bool cast)
Enable or disable volumetric occlusion casting.
Definition RenderSystem.cpp:142
void setVisible(bool visible)
Include or exclude the sprite from collection.
Definition RenderSystem.cpp:56
void setBlend(const std::string &blend)
Set blend mode (alpha or additive).
Definition RenderSystem.cpp:60
void setNormalTexture(Texture *texture)
Assign an optional tangent-space normal map for the GPU lit2d path.
Definition RenderSystem.cpp:44
void setFrameLayout(int sourceW, int sourceH, int trimW, int trimH, int offsetX, int offsetY)
Apply trimmed-frame layout while preserving the original canvas origin.
Definition RenderSystem.cpp:91
void setFlip(bool horizontal, bool vertical)
Mirror atlas UVs without changing transform scale.
Definition RenderSystem.cpp:85
Texture * getNormalTexture()
Return the assigned normal map, or nullptr when unlit/flat. @ownership Returns a borrowed Texture*; t...
Definition RenderSystem.cpp:45
bool getCastOcclusion()
Return whether the sprite casts volumetric occlusion.
Definition RenderSystem.cpp:144
void setAnchor(float x, float y)
Set normalized transform pivot; (0,0) top-left, (0.5,0.5) center.
Definition RenderSystem.cpp:79
void setSize(float width, float height)
Set unscaled sprite dimensions in pixels.
Definition RenderSystem.cpp:34
void setReceiveLight(bool receive)
Enable or disable 2D light reception.
Definition RenderSystem.cpp:58
Screen-space reflections (SSR) as a fullscreen post pass. @lifetime All Graphics and texture argument...
Definition ScreenSpaceReflection.h:30
bool hasUniform(const std::string &name) const
Definition Shader.cpp:59
void sendVec2(const std::string &name, float x, float y)
Definition Shader.cpp:97
void sendFloat(const std::string &name, float x)
Definition Shader.cpp:95
void sendVec3(const std::string &name, float x, float y, float z)
Definition Shader.cpp:102
int declareMatrix(const std::string &name)
Definition Shader.cpp:47
int getUniformIndex(const std::string &name) const
Definition Shader.cpp:61
int declareFloat(const std::string &name)
Reserve sequential float slots in the push-constant block. Returns start index.
Definition Shader.cpp:43
void sendVec4(const std::string &name, float x, float y, float z, float w)
Definition Shader.cpp:107
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:18
void setAlphaConvention(const std::string &value)
Declare whether RGB is straight or already multiplied by alpha.
Definition Texture.h:43
void scatter(Graphics *gfx, Texture *occlusion)
Scatter-only: occlusion → shafts with alpha (draw over a prior scene). Writes to the currently bound ...
Definition Volumetric.cpp:668
void scatterTo(Graphics *gfx, Texture *occlusion, Canvas *dest)
Same as scatter but into an explicit destination.
Definition Volumetric.cpp:673
void drawOccluder(Graphics *gfx, Drawable *drawable, const glm::mat4 &matrix)
Drawable occlusion (respects Drawable::getCastOcclusion).
Definition Volumetric.cpp:636
void setMode(const std::string &mode)
"screenspace" | "raymarch" | "fog" | "froxel" | "cloud".
Definition Volumetric.cpp:350
void setCloudLightColor(float r, float g, float b)
Direct sunlight color used by cloud single scattering.
Definition Volumetric.cpp:506
void setLightScreenPos(float x, float y, float width, float height)
Pixel-space helper (converts with width/height).
Definition Volumetric.cpp:374
void setCloudScale(float worldScale)
Horizontal size of procedural cloud features in world units.
Definition Volumetric.cpp:495
void beginOcclusionMap(Graphics *gfx, float lightPixelX, float lightPixelY, float lightRadiusPixels=24.f)
Clear the current canvas to black and draw a bright light disc (start of an occlusion map)....
Definition Volumetric.cpp:624
void setCloudLayer(float bottom, float top)
Set cloud layer world-space bottom and top heights.
Definition Volumetric.cpp:478
void applyFromScene(Graphics *gfx, Texture *scene)
Single-pass: treat source as the scene (bright regions ≈ light), add shafts + dust/fog onto it....
Definition Volumetric.cpp:682
void drawOccluders2D(Graphics *gfx)
Draw all visible Renderable2D with castOcclusion into the current canvas as black silhouettes (shadow...
Definition Volumetric.cpp:652
void injectFroxelHeightFog(float extinction, float albedoR, float albedoG, float albedoB, float baseHeight, float heightFalloff, float minWorldY, float maxWorldY)
Inject an exponential global height layer into the froxel grid.
Definition Volumetric.cpp:769
void rayMarchTo(Graphics *gfx, Texture *linearDepth, Canvas *dest)
Ray march to.
Definition Volumetric.cpp:701
void uploadFroxel(Graphics *gfx)
Upload integrated froxels into a slice atlas sampled by applyFroxel.
Definition Volumetric.cpp:813
void setLightScreenUV(float u, float v)
Light position in UV (0..1), origin top-left to match 2D UVs.
Definition Volumetric.cpp:364
void rayMarch(Graphics *gfx, Texture *linearDepth)
Ray march participating media using a linear-depth texture (R channel, 0=near .. 1=far)....
Definition Volumetric.cpp:696
void setCamera(float eyeX, float eyeY, float eyeZ, float targetX, float targetY, float targetZ, float upX, float upY, float upZ, float fovYDeg, float aspect, float nearZ, float farZ)
Camera for ray march reconstruction (RH + ZO). Builds inv(viewProj) and near/far used by rayMarch*.
Definition Volumetric.cpp:403
void setAnisotropy(float g)
Henyey–Greenstein anisotropy for raymarch shafts in [-0.99, 0.99]. Positive values produce forward-sc...
Definition VolumetricLights.cpp:192
void injectFroxelLocalVolume(FogVolume *volume)
Inject an analytic local fog volume using the camera from setCamera().
Definition Volumetric.cpp:777
void renderCloudsTo(Graphics *gfx, Texture *linearDepth, Canvas *dest)
Renders clouds to.
Definition Volumetric.cpp:749
void setLightDirection(float dx, float dy, float dz)
World-space direction toward the lit surface (ray march / phase).
Definition Volumetric.cpp:380
void applyFroxel(Graphics *gfx, Texture *linearDepth)
Composite the uploaded froxel volume over the current target using scene depth.
Definition Volumetric.cpp:850
void renderClouds(Graphics *gfx, Texture *linearDepth)
Render the bounded cloud layer using scene linear depth for occlusion.
Definition Volumetric.cpp:744
void setCloudWind(float x, float z)
Cloud wind velocity in world X/Z units per second.
Definition Volumetric.cpp:500
void setQuality(const std::string &quality)
"low" | "medium" | "high" (unknown → medium).
Definition Volumetric.cpp:345
void setFogHeight(float worldY)
Height fog: denser near world Y = fogHeight; falloff is 1/meters scale.
Definition Volumetric.cpp:453
void integrateFroxel(float lightR, float lightG, float lightB, float phaseScale=1.f)
Integrate the current froxel media using a uniform incident light.
Definition Volumetric.cpp:782
void applyFromSceneTo(Graphics *gfx, Texture *scene, Canvas *dest)
Applies from scene to.
Definition Volumetric.cpp:687
void configureFroxelGrid(int width, int height, int depth, float nearDistance, float farDistance)
Configure the CPU reference/fallback froxel grid used by the atlas renderer. Quality presets choose s...
Definition Volumetric.cpp:758
void applyFogTo(Graphics *gfx, Texture *linearDepth, Canvas *dest)
Applies fog to.
Definition Volumetric.cpp:715
void applyFroxelTo(Graphics *gfx, Texture *linearDepth, Canvas *dest)
Composite the uploaded froxel volume into an explicit destination.
Definition Volumetric.cpp:860
void drawOccluderTexture(Graphics *gfx, Texture *texture, float x, float y, float w, float h)
Draws occluder texture.
Definition Volumetric.cpp:646
void setFogStart(float startDistance)
View-distance ramp where fog appears (world units along the ray).
Definition Volumetric.cpp:463
void applyFog(Graphics *gfx, Texture *linearDepth)
Volumetric height/distance fog from a linear-depth texture. Writes fog RGB with alpha = 1-transmittan...
Definition Volumetric.cpp:710
void setCloudDensity(float density)
Cloud density multiplier, clamped non-negative.
Definition Volumetric.cpp:490
void drawOccluderSolid(Graphics *gfx, float x, float y, float w, float h)
Convenience 2D black silhouette (solid or textured alpha).
Definition Volumetric.cpp:641
int resolutionFor(int fullSize) const
Downscale helper: returns floor(dim / downscale), at least 1. Callers create occlusion / scatter canv...
Definition Volumetric.cpp:562
Dynamic water surface with sky reflection and animated ripples.
Definition Water.h:68
Flowing waterfall (falling water sheet) rendered on a vertical plane.
Definition Waterfall.h:34
Runtime groom drawable (UE UGroomComponent analogue).
Definition GroomInstance.h:40
Graphics-owned CPU resource provider for generated mesh artifacts.
@ Exception
void exposeRenderable3DBindings(ssq::Table &table)
Expose renderable 3 d bindings.
Definition Renderable3DBindings.cpp:10
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Shader * createTreeWindShader(Graphics *graphics)
Create a backend-native tree Mesh3D shader using the engine PBR fragment stage.
Definition TreeWindShader.cpp:22
Result< int > calculateWaterMeshTriangles(const WaterMeshSettings &settings)
Calculate Pcg PWS_WaterSystem's triangle count without allocating a mesh.
Definition Water.cpp:117
void exposePrimitiveScriptBindings(ssq::Table &table, ssq::Class &cls)
Registers owning primitive proxies on the VM owner thread; retains no table references.
Definition PrimitiveScriptBindings.cpp:104
void exposeWaterReflectionMaskerBindings(ssq::Table &table)
Register Pcg reflection-mask bindings.
Definition WaterReflectionMasker.cpp:60
eve::Color Color
RGBA color used by every graphics draw call. Lives inside eve::graphics so including a graphics heade...
Definition Color.h:13
uint32_t nextCodepointUtf8(const std::string &text, size_t &i)
Decodes one UTF-8 codepoint from text starting at byte offset i, advancing i past it....
Definition Font.cpp:17
void exposeCanvasScriptBindings(ssq::Table &table)
Register canvas bindings on the VM owner thread; retains no table reference.
Definition CanvasScriptBindings.cpp:10
WaterMeshType
Pcg procedural water mesh shape. Custom meshes remain caller-supplied Mesh resources.
Definition Water.h:15
void exposeShaderScriptBindings(ssq::Table &table, ssq::Class &cls)
Register shader loading and binary replacement on the VM owner thread. Borrows both tables for this c...
Definition ShaderScriptBindings.cpp:86
void detachGraphicsArtifactProvider(Graphics *graphics) noexcept
Detach a Graphics instance before its derived backend is destroyed.
Definition ArtifactProvider.cpp:487
void exposeWaterSystemBindings(ssq::Table &table)
Register water-system value types and checked operations with the VM owner thread.
Definition WaterSystemBindings.cpp:11
void exposeDepthOfFieldFocusBindings(ssq::Table &table)
Register Pcg autofocus value types and evaluator.
Definition DepthOfFieldFocusBindings.cpp:5
void exposeWaterUnderwaterEffectsBindings(ssq::Table &table)
Register underwater-effects value types and checked transition with the VM owner thread.
Definition WaterUnderwaterEffectsBindings.cpp:12
@ AtlasPageTable
EVENGINE_API_BACKENDS void exposeGrassWindBindings(ssq::Table &table)
Register wind state/profile and checked operations on the VM owner thread, retaining no table referen...
Definition GrassWindBindings.cpp:9
EVENGINE_API_BACKENDS void exposeWaterPlanarReflectionBindings(ssq::Table &table)
Register planar water-reflection value types and checked planner with the VM owner thread.
Definition WaterPlanarReflectionBindings.cpp:9
void registerGraphicsArtifactProvider(Graphics *graphics)
Register the graphics provider in the common capability registry.
Definition ArtifactProvider.cpp:482
void exposePcgWaterPhotoModeBindings(ssq::Table &t)
Register Pcg water photo-mode authority bindings.
Definition PcgWaterPhotoMode.cpp:33
void registerGraphicsCapabilities()
Registers graphics capabilities.
Definition GraphicsCapabilities.cpp:666
void exposeVegetationScriptBindings(ssq::Table &table, ssq::Class &graphicsClass)
Register vegetation field bindings on the VM owner thread. Borrows tables for this call; no script ca...
Definition VegetationScriptBindings.cpp:15
const EditorValue * field(const EditorValue &value, const char *name)
Definition RoadNetworkEditTarget.cpp:15
ssq::Table projectResult(HSQUIRRELVM vm, Result< void > &&result)
Consume and project a void native Result using the common schema.
Definition SquirrelBinding.cpp:470
@ InvalidArgument
@ Unsupported
@ Failed
@ Alpha
@ Opaque
glm::vec4 Color
Render-neutral RGBA color shared by graphics-facing modules.
Definition RenderTypes.h:8
@ Water
@ Graphics
DeferredFileTexture public API.
Definition Graphics.h:2225
Options for Graphics::newTexture / newCubemap. When generateMipmaps is true and sampler....
Definition TextureSampler.h:110
bool generateMipmaps
Definition TextureSampler.h:112
Sampler state for a Texture (filter, wrap, mip LOD, anisotropy). Defaults match historical engine beh...
Definition TextureSampler.h:27
float snowFadeDistance
Definition Grass.h:49
float snowMinimumHeight
Definition Grass.h:48
float hardRenderDistance
Definition Grass.h:46
int detailResolutionPerPatch
Definition Grass.h:60
float unityDetailDensity
Definition Grass.h:59
float pcgFadeoutDistance
Definition Grass.h:57
float pcgDetailDistance
Definition Grass.h:56
int unityDetailDistance
Definition Grass.h:58