|
@@ -327,12 +327,13 @@ class Terrain extends Object3D {
|
|
|
|
|
|
public function saveNormals( ctx : Context ) {
|
|
public function saveNormals( ctx : Context ) {
|
|
for( tile in terrain.tiles ) {
|
|
for( tile in terrain.tiles ) {
|
|
- if( tile.grid == null || tile.grid.normals == null ) continue;
|
|
|
|
|
|
+ if( tile.grid == null || tile.grid.normals == null || tile.grid.tangents == null ) continue;
|
|
var normals = tile.grid.normals;
|
|
var normals = tile.grid.normals;
|
|
var tangents = tile.grid.tangents;
|
|
var tangents = tile.grid.tangents;
|
|
var fileName = tile.tileX + "_" + tile.tileY + "_" + "n";
|
|
var fileName = tile.tileX + "_" + tile.tileY + "_" + "n";
|
|
var stride = 3 * 4 + 3 * 4; // Normal + Tangent
|
|
var stride = 3 * 4 + 3 * 4; // Normal + Tangent
|
|
- var bytes = haxe.io.Bytes.alloc(normals.length * stride);
|
|
|
|
|
|
+ var vertexCount = normals.length;
|
|
|
|
+ var bytes = haxe.io.Bytes.alloc(vertexCount * stride);
|
|
for( i in 0 ... normals.length ) {
|
|
for( i in 0 ... normals.length ) {
|
|
bytes.setFloat(i*stride, normals[i].x);
|
|
bytes.setFloat(i*stride, normals[i].x);
|
|
bytes.setFloat(i*stride+4, normals[i].y);
|
|
bytes.setFloat(i*stride+4, normals[i].y);
|