diff --git a/src/mol-canvas3d/passes/multi-sample.ts b/src/mol-canvas3d/passes/multi-sample.ts index 6793d31c201a3c1447e412cd82de6b7ea07aa2b5..661054c3971f1af6e4ecdcbb3d23442ce018e648 100644 --- a/src/mol-canvas3d/passes/multi-sample.ts +++ b/src/mol-canvas3d/passes/multi-sample.ts @@ -40,7 +40,7 @@ function getComposeRenderable(ctx: WebGLContext, colorTexture: Texture): Compose } const schema = { ...ComposeSchema } - const shaderCode = ShaderCode(quad_vert, compose_frag) + const shaderCode = ShaderCode('compose', quad_vert, compose_frag) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) return createComputeRenderable(renderItem, values) diff --git a/src/mol-canvas3d/passes/postprocessing.ts b/src/mol-canvas3d/passes/postprocessing.ts index 5cae262fa056c1e7efa3f1a0fd2ce2fc0ebc678e..a1e0a33220b9e35244db515476aba5a73e26256f 100644 --- a/src/mol-canvas3d/passes/postprocessing.ts +++ b/src/mol-canvas3d/passes/postprocessing.ts @@ -96,7 +96,7 @@ function getPostprocessingRenderable(ctx: WebGLContext, colorTexture: Texture, d } const schema = { ...PostprocessingSchema } - const shaderCode = ShaderCode(quad_vert, postprocessing_frag) + const shaderCode = ShaderCode('postprocessing', quad_vert, postprocessing_frag) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) return createComputeRenderable(renderItem, values) diff --git a/src/mol-gl/compute/histogram-pyramid/reduction.ts b/src/mol-gl/compute/histogram-pyramid/reduction.ts index 23b24888f6d951068209cc90019f642ff507ab5e..4572cf64b6b1b3e7e8dee9093889362caef05840 100644 --- a/src/mol-gl/compute/histogram-pyramid/reduction.ts +++ b/src/mol-gl/compute/histogram-pyramid/reduction.ts @@ -41,7 +41,7 @@ function getHistopyramidReductionRenderable(ctx: WebGLContext, initialTexture: T } const schema = { ...HistopyramidReductionSchema } - const shaderCode = ShaderCode(quad_vert, reduction_frag) + const shaderCode = ShaderCode('reduction', quad_vert, reduction_frag) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) HistopyramidReductionRenderable = createComputeRenderable(renderItem, values); diff --git a/src/mol-gl/compute/histogram-pyramid/sum.ts b/src/mol-gl/compute/histogram-pyramid/sum.ts index dfce169c02736df3898732cdbf0a02185ec8f11c..fee24cd6d6501de05d76a3fffa743c64aa03a6e6 100644 --- a/src/mol-gl/compute/histogram-pyramid/sum.ts +++ b/src/mol-gl/compute/histogram-pyramid/sum.ts @@ -34,7 +34,7 @@ function getHistopyramidSumRenderable(ctx: WebGLContext, texture: Texture) { } const schema = { ...HistopyramidSumSchema } - const shaderCode = ShaderCode(quad_vert, sum_frag) + const shaderCode = ShaderCode('sum', quad_vert, sum_frag) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) HistopyramidSumRenderable = createComputeRenderable(renderItem, values) diff --git a/src/mol-gl/compute/marching-cubes/active-voxels.ts b/src/mol-gl/compute/marching-cubes/active-voxels.ts index b4e82c887b7989ac2c204c67ca41387d616527dd..61c7673178ca9ee21d1614fabd6cb0d026bd7b30 100644 --- a/src/mol-gl/compute/marching-cubes/active-voxels.ts +++ b/src/mol-gl/compute/marching-cubes/active-voxels.ts @@ -46,7 +46,7 @@ function getActiveVoxelsRenderable(ctx: WebGLContext, volumeData: Texture, gridD } const schema = { ...ActiveVoxelsSchema } - const shaderCode = ShaderCode(quad_vert, active_voxels_frag) + const shaderCode = ShaderCode('active-voxels', quad_vert, active_voxels_frag) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) return createComputeRenderable(renderItem, values); diff --git a/src/mol-gl/compute/marching-cubes/isosurface.ts b/src/mol-gl/compute/marching-cubes/isosurface.ts index 81fa7e350fa46d1c497f7fd448db2c7cb602aa79..72e4fb80db71a84fc6ae54ed4d84a7867059abfc 100644 --- a/src/mol-gl/compute/marching-cubes/isosurface.ts +++ b/src/mol-gl/compute/marching-cubes/isosurface.ts @@ -62,7 +62,7 @@ function getIsosurfaceRenderable(ctx: WebGLContext, activeVoxelsPyramid: Texture } const schema = { ...IsosurfaceSchema } - const shaderCode = ShaderCode(quad_vert, isosurface_frag, { drawBuffers: true }) + const shaderCode = ShaderCode('isosurface', quad_vert, isosurface_frag, { drawBuffers: true }) const renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values) return createComputeRenderable(renderItem, values); diff --git a/src/mol-gl/shader-code.ts b/src/mol-gl/shader-code.ts index 8f8ff84b6af9913ea3e40974fcd48e21a078cf36..1bec4cace58284afcb10b9d6713e1d20cc661313 100644 --- a/src/mol-gl/shader-code.ts +++ b/src/mol-gl/shader-code.ts @@ -24,6 +24,7 @@ export interface ShaderExtensions { export interface ShaderCode { readonly id: number + readonly name: string readonly vert: string readonly frag: string readonly extensions: ShaderExtensions @@ -97,33 +98,33 @@ function addIncludes(text: string) { .replace(reMultipleLinebreaks, '\n') } -export function ShaderCode(vert: string, frag: string, extensions: ShaderExtensions = {}): ShaderCode { - return { id: shaderCodeId(), vert: addIncludes(vert), frag: addIncludes(frag), extensions } +export function ShaderCode(name: string, vert: string, frag: string, extensions: ShaderExtensions = {}): ShaderCode { + return { id: shaderCodeId(), name, vert: addIncludes(vert), frag: addIncludes(frag), extensions } } import points_vert from './shader/points.vert' import points_frag from './shader/points.frag' -export const PointsShaderCode = ShaderCode(points_vert, points_frag) +export const PointsShaderCode = ShaderCode('points', points_vert, points_frag) import spheres_vert from './shader/spheres.vert' import spheres_frag from './shader/spheres.frag' -export const SpheresShaderCode = ShaderCode(spheres_vert, spheres_frag, { fragDepth: true }) +export const SpheresShaderCode = ShaderCode('spheres', spheres_vert, spheres_frag, { fragDepth: true }) import text_vert from './shader/text.vert' import text_frag from './shader/text.frag' -export const TextShaderCode = ShaderCode(text_vert, text_frag, { standardDerivatives: true }) +export const TextShaderCode = ShaderCode('text', text_vert, text_frag, { standardDerivatives: true }) import lines_vert from './shader/lines.vert' import lines_frag from './shader/lines.frag' -export const LinesShaderCode = ShaderCode(lines_vert, lines_frag) +export const LinesShaderCode = ShaderCode('lines', lines_vert, lines_frag) import mesh_vert from './shader/mesh.vert' import mesh_frag from './shader/mesh.frag' -export const MeshShaderCode = ShaderCode(mesh_vert, mesh_frag, { standardDerivatives: true }) +export const MeshShaderCode = ShaderCode('mesh', mesh_vert, mesh_frag, { standardDerivatives: true }) import direct_volume_vert from './shader/direct-volume.vert' import direct_volume_frag from './shader/direct-volume.frag' -export const DirectVolumeShaderCode = ShaderCode(direct_volume_vert, direct_volume_frag, { fragDepth: true }) +export const DirectVolumeShaderCode = ShaderCode('direct-volume', direct_volume_vert, direct_volume_frag, { fragDepth: true }) // @@ -233,6 +234,7 @@ export function addShaderDefines(gl: GLRenderingContext, extensions: WebGLExtens const frag = isWebGL2(gl) ? transformGlsl300Frag(shaders.frag) : shaders.frag return { id: shaderCodeId(), + name: shaders.name, vert: `${vertPrefix}${header}${shaders.vert}`, frag: `${fragPrefix}${header}${frag}`, extensions: shaders.extensions diff --git a/src/mol-math/geometry/gaussian-density/gpu.ts b/src/mol-math/geometry/gaussian-density/gpu.ts index 4d4905e28979cfc5bed93587c55a9abb2fc38e91..0a3017adf8d93fb3857ab73fee1f43c334f6f6d2 100644 --- a/src/mol-math/geometry/gaussian-density/gpu.ts +++ b/src/mol-math/geometry/gaussian-density/gpu.ts @@ -46,7 +46,7 @@ export const GaussianDensitySchema = { } export const GaussianDensityShaderCode = ShaderCode( - gaussian_density_vert, gaussian_density_frag, + 'gaussian-density', gaussian_density_vert, gaussian_density_frag, { standardDerivatives: false, fragDepth: false } )