<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="author" content="viaWebGL"> <title>GLSL shaders for zoomable DZI images: openSeadragonGL</title> <meta name="description" content="GLSL shaders for zoomable DZI images: openSeadragonGL"> <style rel = "stylesheet"> #viaWebGL { background-color:black; position:absolute; height:100%; width:100%; left:0px; top:0px; } </style> <script type="text/javascript" src='../../../../build/openseadragon/openseadragon.js'></script> <script type='text/javascript' src='osd-gl.js'></script> <script type='text/javascript' src='viawebgl.js'></script> <script type='text/javascript'> var DEMO = {}; /*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~ // DEMO for a viewer with custom shaders */ window.onload = function(e){ DEMO.view = new SOBEL.Viewer().init(); }; </script> <script type='text/javascript'> var SOBEL = {}; /*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~ /* SOBEL Viewer - Set a Sobel Shader for OpenSeaDragon */ SOBEL.Viewer = function() { // Needed constants this.tile_mode = 'tile-drawing'; this.iconPrefix = '../../../../build/openseadragon/images/'; this.source = "https://openseadragon.github.io/example-images/duomo/duomo.dzi"; this.vShader = 'vs.glsl'; this.fShader = 'fs.glsl'; } SOBEL.Viewer.prototype.init = function() { // Open a seadragon with two layers this.openSD = OpenSeadragon({ tileSources: this.source, prefixUrl: this.iconPrefix, crossOriginPolicy: 'Anonymous', id: 'viaWebGL', drawer: 'canvas', }); // Make a link to webGL var seaGL = new openSeadragonGL(this.openSD); seaGL.addHandler(this.tile_mode); seaGL.vShader = this.vShader; seaGL.fShader = this.fShader; // Add a custom button seaGL.button({ tooltip: 'Toggle shaders', prefix: this.iconPrefix, name: 'shade' }); seaGL.init(); return this; } </script> </head> <body> <div id='viaWebGL'></div> </body> </html>