Jump to content

Samuel Cobb

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by Samuel Cobb

  1. Hey guys, I'm trying to make a ray-triangle intersection algorithm in p5.js but I have been having some issues relating to locating where and how the vertex/face data is stored for each object. I don't know the specific details related to how vertex and face data in webGL but it would be really useful if they had a data structure similar to this: shape[face, face, [vertex,vertex,[x,y,z]]] what I HAVE found is that p5 does have a system for storing all these values but I am not sure what structure they have as they are all separate arrays. for example a test sketch in p5 may look something like this let pointCounter = 0; function setup () { createCanvas(500, 500, WEBGL); } function draw() { background(220); push(); translate(0,100,0) box(); pop(); for(let i = 0; i < 3; i++){ push(); vertices = this._renderer.retainedMode.geometry['box|4|4'].model.vertices points = vertices[(i+pointCounter)%vertices.length]; points = [points.x, points.y, points.z]; //console.log(points) vec3.scale(points, points, 50); //translate(0,200,0); point(points[0],points[1],points[2]); pointCounter++ pop(); } function keyPressed(){ //for my own reference console.log(this._renderer.retainedMode.geometry['box|4|4']) } to get this to work you would need to run it on https://editor.p5js.org/ As you can see from this code, there IS data relating to the shapes, but it is not a the for a specific object but for the entire geometry. Although I could make a function to give each specific shape it's own geometry attribute, I think there MUST be a better way to find the data relating to each shape, whether it be through WEBGL buffers (which I have no idea how to access) or through some other method. Does anyone know a way to do this? thanks - Sam
×
×
  • Create New...