Jump to content

ghosthunter

Community Newbie
  • Posts

    1
  • Joined

  • Last visited

About ghosthunter

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ghosthunter's Achievements

Tiro

Tiro (1/14)

0

Reputation

  1. Recently I have studied the source code of pyrogenesis engine. And there're few confusing implementation. For example in the function "CPatchRData::BuildIndices" I can see indices in clockwise order - [0,0] -> [1,0] -> [0,1] -> [1,0] -> [1,1] -> [0,1] for (ssize_t j = 0; j < PATCH_SIZE; j++) { for (ssize_t i = 0; i < PATCH_SIZE; i++) { if (texgrid[j][i] == tex) { bool dir = terrain->GetTriangulationDir(px+i, pz+j); if (dir) { indices.push_back(u16(((j+0)*vsize+(i+0))+base)); indices.push_back(u16(((j+0)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+0))+base)); indices.push_back(u16(((j+0)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+0))+base)); } else { indices.push_back(u16(((j+0)*vsize+(i+0))+base)); indices.push_back(u16(((j+0)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+1))+base)); indices.push_back(u16(((j+1)*vsize+(i+0))+base)); indices.push_back(u16(((j+0)*vsize+(i+0))+base)); } } } } However the default triangle winding of OpenGL is counter-clockwise. Anyway in the Atlas editor the terrain is stil visible with front faces up. I wonder whether such implementation is rectified with projection matrix and orientation matrix, Or this is just my misunderstanding in some point? Hope that some expert can provide help. I really appreciate that!
×
×
  • Create New...