gl-textured-surface3d
v1.3.9
Published
Modified version of gl-surface3d to accept a texture map
Downloads
4
Maintainers
Readme
gl-textured-surface3d
Modified version of Mikola Lysenko's gl-surface3d to accept a texture map instead of a colormap. The texture map must match the shape of the coordinates.
Example
var createScene = require('gl-plot3d')
var createSurfacePlot = require('gl-surface3d')
var ndarray = require('ndarray')
var fill = require('ndarray-fill')
var diric = require('dirichlet')
var scene = createScene()
//Create field
var field = ndarray(new Float32Array(512*512), [512,512])
fill(field, function(x,y) {
return 128 * diric(10, 10.0*(x-256)/512) * diric(10, 10.0*(y-256)/512)
})
//Create surface plot
var surface = createSurfacePlot({
gl: scene.gl,
field: field
})
scene.add(surface)
Here is what this should look like:
Test it in your browser (requires WebGL)
Install
npm install gl-surface3d
Basic Interface
Constructor
var surface = require('gl-surface3d')(params)
Creates a surface plot object. params
is an object with any of the following parameters
gl
is a WebGL contextfield
a new 2D field encoded as an ndarraycoords
is an array of 3 2D fields, each encoded as ndarrays (for parameteric surfaces)intensity
a 2D intensity field (defaults tofield
or `coords[2] is not present)texture
a gl-texture2d object whose dimensions match the shape coordsintensityBounds
sets the intensity range for the colormapticks
is a pair of arrays of ticks representing the spacing of the points for the axes of the surfaceshowSurface
if set, draw the surfaceshowContour
if set, draw contour linescontourWidth
the width fo the contour linescontourTint
the amount of tint of the contour linescontourColor
the color of the contour line tintlevels
an array of arrays representing the level of the isolines.dynamicWidth
the width of the dynamic isolinesdynamicColors
the color of the dynamic isolinesdynamicTint
the tint of the dynamic isolinesvertexColor
interpolate color in fragment or vertex shader, useful for discontinuous functions (ref)
Methods
surface.update(params)
Modify the surface. params
is an object with the same properties as the constructor
License
(c) 2014-2015 Mikola Lysenko, Talen Fisher. MIT License.