Use precomputed normals in 3D preview

This commit is contained in:
Alessandro Ranellucci 2013-09-11 20:15:42 +02:00
parent d4512a12df
commit bc48e17dff
3 changed files with 26 additions and 4 deletions

View file

@ -49,14 +49,14 @@ sub new {
color => COLORS->[ $color_idx % scalar(@{&COLORS}) ],
};
my ($vertices, $facets) = ($mesh->vertices, $mesh->facets);
{
my @verts = map @{ $vertices->[$_] }, map @$_, @$facets;
my $vertices = $mesh->vertices;
my @verts = map @{ $vertices->[$_] }, map @$_, @{$mesh->facets};
$v->{verts} = OpenGL::Array->new_list(GL_FLOAT, @verts);
}
{
my @norms = map { @$_, @$_, @$_ } map normalize(triangle_normal(map $vertices->[$_], @$_)), @$facets;
my @norms = map @$_, @{$mesh->normals};
$v->{norms} = OpenGL::Array->new_list(GL_FLOAT, @norms);
}
}