Advertisement
1980geeksquad

3d mesh

Sep 11th, 2013
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.02 KB | None | 0 0
  1. function Block:createBlock()
  2.     --resetMatrix()
  3.     local w,h,d=self.width,self.height,self.depth
  4.     local v = {
  5.       vec3(-0.5*w+self.posx, -0.5*h+self.posy-48,  0.5*d+self.posz), -- Left  bottom front
  6.       vec3( 0.5*w+self.posx, -0.5*h+self.posy-48,  0.5*d+self.posz), -- Right bottom front
  7.       vec3( 0.5*w+self.posx,  0.5*h+self.posy-48,  0.5*d+self.posz), -- Right top    front
  8.       vec3(-0.5*w+self.posx,  0.5*h+self.posy-48,  0.5*d+self.posz), -- Left  top    front
  9.       vec3(-0.5*w+self.posx, -0.5*h+self.posy-48, -0.5*d+self.posz), -- Left  bottom back
  10.       vec3( 0.5*w+self.posx, -0.5*h+self.posy-48, -0.5*d+self.posz), -- Right bottom back
  11.       vec3( 0.5*w+self.posx,  0.5*h+self.posy-48, -0.5*d+self.posz), -- Right top    back
  12.       vec3(-0.5*w+self.posx,  0.5*h+self.posy-48, -0.5*d+self.posz), -- Left  top    back
  13.     }
  14.     
  15.     local cubeverts = {
  16.       -- Front, Right, Back, Left, Top, Bottom
  17.       v[1], v[2], v[3], v[1], v[3], v[4],
  18.       v[2], v[6], v[7], v[2], v[7], v[3],
  19.       v[6], v[5], v[8], v[6], v[8], v[7],
  20.       v[5], v[1], v[4], v[5], v[4], v[8],
  21.       v[4], v[3], v[7], v[4], v[7], v[8],
  22.       v[5], v[6], v[2], v[5], v[2], v[1],
  23.     }
  24.     
  25.     local BL=vec2(self.texR[1],self.texR[2]) --bottom left
  26.     local BR=vec2(self.texR[3],self.texR[2]) --bottom right  
  27.     local TR=vec2(self.texR[3],self.texR[4]) --top right
  28.     local TL=vec2(self.texR[1],self.texR[4]) --top left
  29.         
  30.     local cubetexCoords = {}
  31.     for i=1,6 do
  32.         table.insert(cubetexCoords,BL)
  33.         table.insert(cubetexCoords,BR)
  34.         table.insert(cubetexCoords,TR)
  35.         table.insert(cubetexCoords,BL)
  36.         table.insert(cubetexCoords,TR)
  37.         table.insert(cubetexCoords,TL)
  38.     end
  39.     
  40.     local ms = mesh()
  41.     ms.vertices = cubeverts
  42.     ms.texture = self.tex
  43.     ms.texCoords = cubetexCoords
  44.     ms:setColors(27, 145, 33, 255)
  45.     return ms
  46. end 
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement