diff --git a/kraken/KRMesh.cpp b/kraken/KRMesh.cpp index 6dee780..914c433 100755 --- a/kraken/KRMesh.cpp +++ b/kraken/KRMesh.cpp @@ -1581,6 +1581,9 @@ int KRMesh::getTriangleVertexIndex(int submesh, int index) const void KRMesh::optimizeIndexes() { + // TODO - Re-enable this once crash with KRMeshSphere vertices is corrected + return; + m_pData->lock(); // TODO - Implement optimization for indexed strips if(getModelFormat() == ModelFormat::KRENGINE_MODEL_FORMAT_INDEXED_TRIANGLES) { diff --git a/kraken/KRMeshSphere.cpp b/kraken/KRMeshSphere.cpp index 6b1a804..087e720 100755 --- a/kraken/KRMeshSphere.cpp +++ b/kraken/KRMeshSphere.cpp @@ -113,6 +113,12 @@ KRMeshSphere::KRMeshSphere(KRContext &context) : KRMesh(context, "__sphere") mi.format = ModelFormat::KRENGINE_MODEL_FORMAT_TRIANGLES; + + // Generate normals pointing away from center of sphere. + for (int vertex_index = 0; vertex_index < mi.vertices.size(); vertex_index++) { + mi.normals.push_back(Vector3::Normalize(mi.vertices[vertex_index] - Vector3::Zero())); + } + LoadData(mi, true, true); }