载入中...
搜索中...
未找到
eve::graphics::webgpu 命名空间参考

struct  GpuMesh
 Vertex/index buffers for one mesh. 更多...
 
struct  GpuShader
 A compiled shader: one WebGPU pipeline + layout. Also holds the WGSL sources so custom shaders can be re-pipelined for offscreen targets. 更多...
 
struct  GpuTexture
 Texture resources backed by a wgpu texture + view + sampler + bind groups. 更多...
 
class  Graphics
 
struct  Mesh3DUBO
 Frame UBO for the mesh3d pipeline. Mirrors the std140 layout of the WGSL Frame block and the legacy Vulkan Mesh3DUBO (so custom shader prefixes stay compatible). See wgsl_shaders.h. 更多...
 
class  OffscreenCanvas
 Offscreen render target (RGBA8Unorm color, optional Depth32Float). 2D batches are flushed into the canvas texture by Graphics::flush2DToCanvas. 更多...
 

变量

const char * kColorVertWgsl
 
const char * kColorFragWgsl
 
const char * kTexturedVertWgsl
 
const char * kTexturedFragWgsl
 
const char * kCustom2DFragWgsl
 
const char * kLit2DFragWgsl
 
const char * kMesh3DVertWgsl
 
const char * kMesh3DFragWgsl
 
const char * kMesh3DShadowVertWgsl
 
const char * kMesh3DGbufferVertWgsl
 
const char * kMesh3DGbufferFragWgsl
 
const char * kVoxelRectVertWgsl
 
const char * kVoxelRectFragWgsl
 

变量说明

◆ kColorFragWgsl

const char* eve::graphics::webgpu::kColorFragWgsl
inline
初始值:
= R"wgsl(
struct FSIn {
@location(0) color: vec4f,
};
@fragment
fn fs_main(in: FSIn) -> @location(0) vec4f {
return in.color;
}
)wgsl"

在文件 wgsl_shaders.h29 行定义.

◆ kColorVertWgsl

const char* eve::graphics::webgpu::kColorVertWgsl
inline
初始值:
= R"wgsl(
struct VSIn {
@location(0) pos: vec2f,
@location(1) color: vec4f,
};
struct VSOut {
@builtin(position) pos: vec4f,
@location(0) color: vec4f,
};
@vertex
fn vs_main(in: VSIn) -> VSOut {
var out: VSOut;
out.pos = vec4f(in.pos, 0.0, 1.0);
out.color = in.color;
return out;
}
)wgsl"

在文件 wgsl_shaders.h11 行定义.

◆ kCustom2DFragWgsl

const char* eve::graphics::webgpu::kCustom2DFragWgsl
inline
初始值:
= R"wgsl(
struct FSIn {
@location(0) color: vec4f,
@location(1) uv: vec2f,
};
struct Externals {
data: array<f32, 32>,
};
@group(0) @binding(0) var mainTex: texture_2d<f32>;
@group(0) @binding(2) var mainSamp: sampler;
@group(0) @binding(4) var<uniform> u: Externals;
@fragment
fn fs_main(in: FSIn) -> @location(0) vec4f {
return textureSample(mainTex, mainSamp, in.uv) * in.color;
}
)wgsl"

在文件 wgsl_shaders.h75 行定义.

◆ kLit2DFragWgsl

const char* eve::graphics::webgpu::kLit2DFragWgsl
inline

在文件 wgsl_shaders.h93 行定义.

◆ kMesh3DFragWgsl

const char* eve::graphics::webgpu::kMesh3DFragWgsl
inline

在文件 wgsl_shaders.h202 行定义.

◆ kMesh3DGbufferFragWgsl

const char* eve::graphics::webgpu::kMesh3DGbufferFragWgsl
inline

在文件 wgsl_shaders.h482 行定义.

◆ kMesh3DGbufferVertWgsl

const char* eve::graphics::webgpu::kMesh3DGbufferVertWgsl
inline

在文件 wgsl_shaders.h450 行定义.

◆ kMesh3DShadowVertWgsl

const char* eve::graphics::webgpu::kMesh3DShadowVertWgsl
inline
初始值:
= R"wgsl(
struct VSIn {
@location(0) pos: vec3f,
@location(1) normal: vec3f,
@location(2) uv: vec2f,
};
struct Push {
mvp: mat4x4f,
};
@group(0) @binding(0) var<uniform> pc: Push;
@vertex
fn vs_main(in: VSIn) -> @builtin(position) vec4f {
return pc.mvp * vec4f(in.pos, 1.0);
}
)wgsl"

在文件 wgsl_shaders.h433 行定义.

◆ kMesh3DVertWgsl

const char* eve::graphics::webgpu::kMesh3DVertWgsl
inline

在文件 wgsl_shaders.h137 行定义.

被这些函数引用 eve::graphics::webgpu::Graphics::newMeshShaderFromWgsl().

◆ kTexturedFragWgsl

const char* eve::graphics::webgpu::kTexturedFragWgsl
inline
初始值:
= R"wgsl(
struct FSIn {
@location(0) color: vec4f,
@location(1) uv: vec2f,
};
@group(0) @binding(0) var mainTex: texture_2d<f32>;
@group(0) @binding(2) var mainSamp: sampler;
@fragment
fn fs_main(in: FSIn) -> @location(0) vec4f {
return textureSample(mainTex, mainSamp, in.uv) * in.color;
}
)wgsl"

在文件 wgsl_shaders.h61 行定义.

◆ kTexturedVertWgsl

const char* eve::graphics::webgpu::kTexturedVertWgsl
inline
初始值:
= R"wgsl(
struct VSIn {
@location(0) pos: vec2f,
@location(1) color: vec4f,
@location(2) uv: vec2f,
};
struct VSOut {
@builtin(position) pos: vec4f,
@location(0) color: vec4f,
@location(1) uv: vec2f,
};
@vertex
fn vs_main(in: VSIn) -> VSOut {
var out: VSOut;
out.pos = vec4f(in.pos, 0.0, 1.0);
out.color = in.color;
out.uv = in.uv;
return out;
}
)wgsl"

在文件 wgsl_shaders.h40 行定义.

◆ kVoxelRectFragWgsl

const char* eve::graphics::webgpu::kVoxelRectFragWgsl
inline
初始值:
= R"wgsl(
struct FSIn {
@location(0) uv: vec2f,
@location(1) tint: vec4f,
};
@group(0) @binding(1) var atlas: texture_2d<f32>;
@group(0) @binding(2) var atlasSamp: sampler;
@fragment
fn fs_main(in: FSIn) -> @location(0) vec4f {
return textureSample(atlas, atlasSamp, in.uv) * in.tint;
}
)wgsl"

在文件 wgsl_shaders.h567 行定义.

◆ kVoxelRectVertWgsl

const char* eve::graphics::webgpu::kVoxelRectVertWgsl
inline

在文件 wgsl_shaders.h519 行定义.