Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…

var tessy = (function initTesselator() { | |
// function called for each vertex of tesselator output | |
function vertexCallback(data, polyVertArray) { | |
// console.log(data[0], data[1]); | |
polyVertArray[polyVertArray.length] = data[0]; | |
polyVertArray[polyVertArray.length] = data[1]; | |
} | |
function begincallback(type) { | |
if (type !== libtess.primitiveType.GL_TRIANGLES) { | |
console.log('expected TRIANGLES but got type: ' + type); | |
} | |
} | |
function errorcallback(errno) { | |
console.log('error callback'); | |
console.log('error number: ' + errno); | |
} | |
// callback for when segments intersect and must be split | |
function combinecallback(coords, data, weight) { | |
// console.log('combine callback'); | |
return [coords[0], coords[1], coords[2]]; | |
} | |
function edgeCallback(flag) { | |
// don't really care about the flag, but need no-strip/no-fan behavior | |
// console.log('edge flag: ' + flag); | |
} | |
var tessy = new libtess.GluTesselator(); | |
// tessy.gluTessProperty(libtess.gluEnum.GLU_TESS_WINDING_RULE, libtess.windingRule.GLU_TESS_WINDING_POSITIVE); | |
tessy.gluTessCallback(libtess.gluEnum.GLU_TESS_VERTEX_DATA, vertexCallback); | |
tessy.gluTessCallback(libtess.gluEnum.GLU_TESS_BEGIN, begincallback); | |
tessy.gluTessCallback(libtess.gluEnum.GLU_TESS_ERROR, errorcallback); | |
tessy.gluTessCallback(libtess.gluEnum.GLU_TESS_COMBINE, combinecallback); | |
tessy.gluTessCallback(libtess.gluEnum.GLU_TESS_EDGE_FLAG, edgeCallback); | |
return tessy; | |
})(); |