Permalink
Cannot retrieve contributors at this time
All your code in one place
GitHub makes it easy to scale back on context switching. Read rendered documentation, see the history of any file, and collaborate with contributors on projects across GitHub.
Sign up for free See pricing for teams and enterprises
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; | |
})(); |