From b12f7c7ce4a356c2742c4e6459699d41deded7b5 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Thu, 19 Mar 2020 17:26:43 -0700 Subject: [PATCH] add .name property to ShaderCode --- src/mol-canvas3d/passes/multi-sample.ts | 2 +- src/mol-canvas3d/passes/postprocessing.ts | 2 +- .../compute/histogram-pyramid/reduction.ts | 2 +- src/mol-gl/compute/histogram-pyramid/sum.ts | 2 +- .../compute/marching-cubes/active-voxels.ts | 2 +- .../compute/marching-cubes/isosurface.ts | 2 +- src/mol-gl/shader-code.ts | 18 ++++++++++-------- src/mol-math/geometry/gaussian-density/gpu.ts | 2 +- 8 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/mol-canvas3d/passes/multi-sample.ts b/src/mol-canvas3d/passes/multi-sample.ts index 6793d31c2..661054c39 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 5cae262fa..a1e0a3322 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 23b24888f..4572cf64b 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 dfce169c0..fee24cd6d 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 b4e82c887..61c767317 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 81fa7e350..72e4fb80d 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 8f8ff84b6..1bec4cace 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 4d4905e28..0a3017adf 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 } ) -- GitLab