Dies ist das Repository meines kleinen Portfolios.
Im Hintergrund läuft eine Planetensimulation, geschrieben in JavaScript und Three.js.
Die zu sehenden Texturen stammen von:
https://www.solarsystemscope.com/textures/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
260 lines
5.4 KiB
260 lines
5.4 KiB
export const GPUPrimitiveTopology = { |
|
PointList: 'point-list', |
|
LineList: 'line-list', |
|
LineStrip: 'line-strip', |
|
TriangleList: 'triangle-list', |
|
TriangleStrip: 'triangle-strip', |
|
}; |
|
|
|
export const GPUCompareFunction = { |
|
Never: 'never', |
|
Less: 'less', |
|
Equal: 'equal', |
|
LessEqual: 'less-equal', |
|
Greater: 'greater', |
|
NotEqual: 'not-equal', |
|
GreaterEqual: 'greater-equal', |
|
Always: 'always' |
|
}; |
|
|
|
export const GPUStoreOp = { |
|
Store: 'store', |
|
Clear: 'clear' |
|
}; |
|
|
|
export const GPULoadOp = { |
|
Load: 'load' |
|
}; |
|
|
|
export const GPUFrontFace = { |
|
CCW: 'ccw', |
|
CW: 'cw' |
|
}; |
|
|
|
export const GPUCullMode = { |
|
None: 'none', |
|
Front: 'front', |
|
Back: 'back' |
|
}; |
|
|
|
export const GPUIndexFormat = { |
|
Uint16: 'uint16', |
|
Uint32: 'uint32' |
|
}; |
|
|
|
export const GPUVertexFormat = { |
|
Uint8x2: 'uint8x2', |
|
Uint8x4: 'uint8x4', |
|
Sint8x2: 'sint8x2', |
|
Sint8x4: 'sint8x4', |
|
Unorm8x2: 'unorm8x2', |
|
Unorm8x4: 'unorm8x4', |
|
Snorm8x2: 'snorm8x2', |
|
Snorm8x4: 'snorm8x4', |
|
Uint16x2: 'uint16x2', |
|
Uint16x4: 'uint16x4', |
|
Sint16x2: 'sint16x2', |
|
Sint16x4: 'sint16x4', |
|
Unorm16x2: 'unorm16x2', |
|
Unorm16x4: 'unorm16x4', |
|
Snorm16x2: 'snorm16x2', |
|
Snorm16x4: 'snorm16x4', |
|
Float16x2: 'float16x2', |
|
Float16x4: 'float16x4', |
|
Float32: 'float32', |
|
Float32x2: 'float32x2', |
|
Float32x3: 'float32x3', |
|
Float32x4: 'float32x4', |
|
Uint32: 'uint32', |
|
Uint32x2: 'uint32x2', |
|
Uint32x3: 'uint32x3', |
|
Uint32x4: 'uint32x4', |
|
Sint32: 'sint32', |
|
Sint32x2: 'sint32x2', |
|
Sint32x3: 'sint32x3', |
|
Sint32x4: 'sint32x4' |
|
}; |
|
|
|
export const GPUTextureFormat = { |
|
|
|
// 8-bit formats |
|
|
|
R8Unorm: 'r8unorm', |
|
R8Snorm: 'r8snorm', |
|
R8Uint: 'r8uint', |
|
R8Sint: 'r8sint', |
|
|
|
// 16-bit formats |
|
|
|
R16Uint: 'r16uint', |
|
R16Sint: 'r16sint', |
|
R16Float: 'r16float', |
|
RG8Unorm: 'rg8unorm', |
|
RG8Snorm: 'rg8snorm', |
|
RG8Uint: 'rg8uint', |
|
RG8Sint: 'rg8sint', |
|
|
|
// 32-bit formats |
|
|
|
R32Uint: 'r32uint', |
|
R32Sint: 'r32sint', |
|
R32Float: 'r32float', |
|
RG16Uint: 'rg16uint', |
|
RG16Sint: 'rg16sint', |
|
RG16Float: 'rg16float', |
|
RGBA8Unorm: 'rgba8unorm', |
|
RGBA8UnormSRGB: 'rgba8unorm-srgb', |
|
RGBA8Snorm: 'rgba8snorm', |
|
RGBA8Uint: 'rgba8uint', |
|
RGBA8Sint: 'rgba8sint', |
|
BGRA8Unorm: 'bgra8unorm', |
|
BGRA8UnormSRGB: 'bgra8unorm-srgb', |
|
// Packed 32-bit formats |
|
RGB9E5UFloat: 'rgb9e5ufloat', |
|
RGB10A2Unorm: 'rgb10a2unorm', |
|
RG11B10uFloat: 'rgb10a2unorm', |
|
|
|
// 64-bit formats |
|
|
|
RG32Uint: 'rg32uint', |
|
RG32Sint: 'rg32sint', |
|
RG32Float: 'rg32float', |
|
RGBA16Uint: 'rgba16uint', |
|
RGBA16Sint: 'rgba16sint', |
|
RGBA16Float: 'rgba16float', |
|
|
|
// 128-bit formats |
|
|
|
RGBA32Uint: 'rgba32uint', |
|
RGBA32Sint: 'rgba32sint', |
|
RGBA32Float: 'rgba32float', |
|
|
|
// Depth and stencil formats |
|
|
|
Stencil8: 'stencil8', |
|
Depth16Unorm: 'depth16unorm', |
|
Depth24Plus: 'depth24plus', |
|
Depth24PlusStencil8: 'depth24plus-stencil8', |
|
Depth32Float: 'depth32float', |
|
|
|
// BC compressed formats usable if 'texture-compression-bc' is both |
|
// supported by the device/user agent and enabled in requestDevice. |
|
|
|
BC1RGBAUnorm: 'bc1-rgba-unorm', |
|
BC1RGBAUnormSRGB: 'bc1-rgba-unorm-srgb', |
|
BC2RGBAUnorm: 'bc2-rgba-unorm', |
|
BC2RGBAUnormSRGB: 'bc2-rgba-unorm-srgb', |
|
BC3RGBAUnorm: 'bc3-rgba-unorm', |
|
BC3RGBAUnormSRGB: 'bc3-rgba-unorm-srgb', |
|
BC4RUnorm: 'bc4-r-unorm', |
|
BC4RSNorm: 'bc4-r-snorm', |
|
BC5RGUnorm: 'bc5-rg-unorm', |
|
BC5RGSnorm: 'bc5-rg-snorm', |
|
BC6HRGBUFloat: 'bc6h-rgb-ufloat', |
|
BC6HRGBFloat: 'bc6h-rgb-float', |
|
BC7RGBAUnorm: 'bc7-rgba-unorm', |
|
BC7RGBAUnormSRGB: 'bc7-rgba-srgb', |
|
|
|
// 'depth24unorm-stencil8' extension |
|
|
|
Depth24UnormStencil8: 'depth24unorm-stencil8', |
|
|
|
// 'depth32float-stencil8' extension |
|
|
|
Depth32FloatStencil8: 'depth32float-stencil8', |
|
|
|
}; |
|
|
|
export const GPUAddressMode = { |
|
ClampToEdge: 'clamp-to-edge', |
|
Repeat: 'repeat', |
|
MirrorRepeat: 'mirror-repeat' |
|
}; |
|
|
|
export const GPUFilterMode = { |
|
Linear: 'linear', |
|
Nearest: 'nearest' |
|
}; |
|
|
|
export const GPUBlendFactor = { |
|
Zero: 'zero', |
|
One: 'one', |
|
SrcColor: 'src-color', |
|
OneMinusSrcColor: 'one-minus-src-color', |
|
SrcAlpha: 'src-alpha', |
|
OneMinusSrcAlpha: 'one-minus-src-alpha', |
|
DstColor: 'dst-color', |
|
OneMinusDstColor: 'one-minus-dst-color', |
|
DstAlpha: 'dst-alpha', |
|
OneMinusDstAlpha: 'one-minus-dst-alpha', |
|
SrcAlphaSaturated: 'src-alpha-saturated', |
|
BlendColor: 'blend-color', |
|
OneMinusBlendColor: 'one-minus-blend-color' |
|
}; |
|
|
|
export const GPUBlendOperation = { |
|
Add: 'add', |
|
Subtract: 'subtract', |
|
ReverseSubtract: 'reverse-subtract', |
|
Min: 'min', |
|
Max: 'max' |
|
}; |
|
|
|
export const GPUColorWriteFlags = { |
|
None: 0, |
|
Red: 0x1, |
|
Green: 0x2, |
|
Blue: 0x4, |
|
Alpha: 0x8, |
|
All: 0xF |
|
}; |
|
|
|
export const GPUStencilOperation = { |
|
Keep: 'keep', |
|
Zero: 'zero', |
|
Replace: 'replace', |
|
Invert: 'invert', |
|
IncrementClamp: 'increment-clamp', |
|
DecrementClamp: 'decrement-clamp', |
|
IncrementWrap: 'increment-wrap', |
|
DecrementWrap: 'decrement-wrap' |
|
}; |
|
|
|
export const GPUBindingType = { |
|
UniformBuffer: 'uniform-buffer', |
|
StorageBuffer: 'storage-buffer', |
|
ReadonlyStorageBuffer: 'readonly-storage-buffer', |
|
Sampler: 'sampler', |
|
ComparisonSampler: 'comparison-sampler', |
|
SampledTexture: 'sampled-texture', |
|
MultisampledTexture: 'multisampled-texture', |
|
ReadonlyStorageTexture: 'readonly-storage-texture', |
|
WriteonlyStorageTexture: 'writeonly-storage-texture' |
|
}; |
|
|
|
export const GPUTextureDimension = { |
|
OneD: '1d', |
|
TwoD: '2d', |
|
ThreeD: '3d' |
|
}; |
|
|
|
export const GPUTextureViewDimension = { |
|
OneD: '1d', |
|
TwoD: '2d', |
|
TwoDArray: '2d-array', |
|
Cube: 'cube', |
|
CubeArray: 'cube-array', |
|
ThreeD: '3d' |
|
}; |
|
|
|
export const GPUInputStepMode = { |
|
Vertex: 'vertex', |
|
Instance: 'instance' |
|
}; |
|
|
|
export const GPUChunkSize = 16; // size of a chunk in bytes (STD140 layout) |
|
|
|
// @TODO: Move to src/constants.js |
|
|
|
export const BlendColorFactor = 211; |
|
export const OneMinusBlendColorFactor = 212;
|
|
|