1.3.9 • Published 7 years ago
gl-textured-surface3d v1.3.9
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-surface3dBasic Interface
Constructor
var surface = require('gl-surface3d')(params)
Creates a surface plot object. params is an object with any of the following parameters
glis a WebGL contextfielda new 2D field encoded as an ndarraycoordsis an array of 3 2D fields, each encoded as ndarrays (for parameteric surfaces)intensitya 2D intensity field (defaults tofieldor `coords2 is not present)texturea gl-texture2d object whose dimensions match the shape coordsintensityBoundssets the intensity range for the colormapticksis a pair of arrays of ticks representing the spacing of the points for the axes of the surfaceshowSurfaceif set, draw the surfaceshowContourif set, draw contour linescontourWidththe width fo the contour linescontourTintthe amount of tint of the contour linescontourColorthe color of the contour line tintlevelsan array of arrays representing the level of the isolines.dynamicWidththe width of the dynamic isolinesdynamicColorsthe color of the dynamic isolinesdynamicTintthe tint of the dynamic isolinesvertexColorinterpolate 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.