Showing the changes to interface/src/renderer/GeometryCache.cpp (1 of 13 files). Show all
Unified · Split
| @@ -396,7 +396,8 @@ void NetworkGeometry::maybeReadModelWithMapping() { · 395 unmodified lines | ||
| 396 | 396 | // if we don't need to do any blending or springing, then the positions/normals can be static |
| 397 | 397 | if (mesh.blendshapes.isEmpty() && mesh.springiness == 0.0f) { |
| 398 | 398 | int normalsOffset = mesh.vertices.size() * sizeof(glm::vec3); |
| 399 | − int colorsOffset = normalsOffset + mesh.normals.size() * sizeof(glm::vec3); | |
| 399 | + int tangentsOffset = normalsOffset + mesh.normals.size() * sizeof(glm::vec3); | |
| 400 | + int colorsOffset = tangentsOffset + mesh.tangents.size() * sizeof(glm::vec3); | |
| 400 | 401 | int texCoordsOffset = colorsOffset + mesh.colors.size() * sizeof(glm::vec3); |
| 401 | 402 | int clusterIndicesOffset = texCoordsOffset + mesh.texCoords.size() * sizeof(glm::vec2); |
| 402 | 403 | int clusterWeightsOffset = clusterIndicesOffset + mesh.clusterIndices.size() * sizeof(glm::vec4); |
| @@ -404,6 +405,7 @@ void NetworkGeometry::maybeReadModelWithMapping() { · 1 unmodified line | ||
| 404 | 405 | NULL, GL_STATIC_DRAW); |
| 405 | 406 | glBufferSubData(GL_ARRAY_BUFFER, 0, mesh.vertices.size() * sizeof(glm::vec3), mesh.vertices.constData()); |
| 406 | 407 | glBufferSubData(GL_ARRAY_BUFFER, normalsOffset, mesh.normals.size() * sizeof(glm::vec3), mesh.normals.constData()); |
| 408 | + glBufferSubData(GL_ARRAY_BUFFER, tangentsOffset, mesh.tangents.size() * sizeof(glm::vec3), mesh.tangents.constData()); | |
| 407 | 409 | glBufferSubData(GL_ARRAY_BUFFER, colorsOffset, mesh.colors.size() * sizeof(glm::vec3), mesh.colors.constData()); |
| 408 | 410 | glBufferSubData(GL_ARRAY_BUFFER, texCoordsOffset, mesh.texCoords.size() * sizeof(glm::vec2), |
| 409 | 411 | mesh.texCoords.constData()); |
| @@ -414,12 +416,14 @@ void NetworkGeometry::maybeReadModelWithMapping() { · 4 unmodified lines | ||
| 414 | 416 | |
| 415 | 417 | // if there's no springiness, then the cluster indices/weights can be static |
| 416 | 418 | } else if (mesh.springiness == 0.0f) { |
| 417 | − int texCoordsOffset = mesh.colors.size() * sizeof(glm::vec3); | |
| 419 | + int colorsOffset = mesh.tangents.size() * sizeof(glm::vec3); | |
| 420 | + int texCoordsOffset = colorsOffset + mesh.colors.size() * sizeof(glm::vec3); | |
| 418 | 421 | int clusterIndicesOffset = texCoordsOffset + mesh.texCoords.size() * sizeof(glm::vec2); |
| 419 | 422 | int clusterWeightsOffset = clusterIndicesOffset + mesh.clusterIndices.size() * sizeof(glm::vec4); |
| 420 | 423 | glBufferData(GL_ARRAY_BUFFER, clusterWeightsOffset + mesh.clusterWeights.size() * sizeof(glm::vec4), |
| 421 | 424 | NULL, GL_STATIC_DRAW); |
| 422 | − glBufferSubData(GL_ARRAY_BUFFER, 0, mesh.colors.size() * sizeof(glm::vec3), mesh.colors.constData()); | |
| 425 | + glBufferSubData(GL_ARRAY_BUFFER, 0, mesh.tangents.size() * sizeof(glm::vec3), mesh.tangents.constData()); | |
| 426 | + glBufferSubData(GL_ARRAY_BUFFER, colorsOffset, mesh.colors.size() * sizeof(glm::vec3), mesh.colors.constData()); | |
| 423 | 427 | glBufferSubData(GL_ARRAY_BUFFER, texCoordsOffset, mesh.texCoords.size() * sizeof(glm::vec2), mesh.texCoords.constData()); |
| 424 | 428 | glBufferSubData(GL_ARRAY_BUFFER, clusterIndicesOffset, mesh.clusterIndices.size() * sizeof(glm::vec4), |
| 425 | 429 | mesh.clusterIndices.constData()); |
| @@ -427,9 +431,11 @@ void NetworkGeometry::maybeReadModelWithMapping() { · 1 unmodified line | ||
| 427 | 431 | mesh.clusterWeights.constData()); |
| 428 | 432 | |
| 429 | 433 | } else { |
| 430 | − int texCoordsOffset = mesh.colors.size() * sizeof(glm::vec3); | |
| 434 | + int colorsOffset = mesh.tangents.size() * sizeof(glm::vec3); | |
| 435 | + int texCoordsOffset = colorsOffset + mesh.colors.size() * sizeof(glm::vec3); | |
| 431 | 436 | glBufferData(GL_ARRAY_BUFFER, texCoordsOffset + mesh.texCoords.size() * sizeof(glm::vec2), NULL, GL_STATIC_DRAW); |
| 432 | − glBufferSubData(GL_ARRAY_BUFFER, 0, mesh.colors.size() * sizeof(glm::vec3), mesh.colors.constData()); | |
| 437 | + glBufferSubData(GL_ARRAY_BUFFER, 0, mesh.tangents.size() * sizeof(glm::vec3), mesh.tangents.constData()); | |
| 438 | + glBufferSubData(GL_ARRAY_BUFFER, colorsOffset, mesh.colors.size() * sizeof(glm::vec3), mesh.colors.constData()); | |
| 433 | 439 | glBufferSubData(GL_ARRAY_BUFFER, texCoordsOffset, mesh.texCoords.size() * sizeof(glm::vec2), |
| 434 | 440 | mesh.texCoords.constData()); |
| 435 | 441 | } |