diff --git a/data.go b/data.go index ce2e4f56d6259b5391a9cbbbb9e3978ea9d83645..e092ecd14d51f11bc56ab73a2cfc05ad7297cec8 100644 --- a/data.go +++ b/data.go @@ -11,10 +11,10 @@ import ( // TrianglesData specifies a list of Triangles vertices with three common properties: Position, // Color and Texture. type TrianglesData []struct { - Position Vec - Color NRGBA - Picture Vec - HasPicture bool + Position Vec + Color NRGBA + Picture Vec + Intensity float64 } // MakeTrianglesData creates TrianglesData of length len initialized with default property values. @@ -41,11 +41,11 @@ func (td *TrianglesData) SetLen(len int) { needAppend := len - td.Len() for i := 0; i < needAppend; i++ { *td = append(*td, struct { - Position Vec - Color NRGBA - Picture Vec - HasPicture bool - }{V(0, 0), NRGBA{1, 1, 1, 1}, V(0, 0), false}) + Position Vec + Color NRGBA + Picture Vec + Intensity float64 + }{V(0, 0), NRGBA{1, 1, 1, 1}, V(0, 0), 0}) } } if len < td.Len() { @@ -79,7 +79,7 @@ func (td *TrianglesData) updateData(t Triangles) { } if t, ok := t.(TrianglesPicture); ok { for i := range *td { - (*td)[i].Picture, (*td)[i].HasPicture = t.Picture(i) + (*td)[i].Picture, (*td)[i].Intensity = t.Picture(i) } } } @@ -113,8 +113,8 @@ func (td *TrianglesData) Color(i int) NRGBA { } // Picture returns the picture property of i-th vertex. -func (td *TrianglesData) Picture(i int) (pic Vec, ok bool) { - return (*td)[i].Picture, (*td)[i].HasPicture +func (td *TrianglesData) Picture(i int) (pic Vec, intensity float64) { + return (*td)[i].Picture, (*td)[i].Intensity } // PictureData specifies an in-memory rectangular area of NRGBA pixels and implements Picture and diff --git a/interface.go b/interface.go index 6001e3aa33ead481a85202e43aa5d3db304162b3..0cb906b8f9b6b8f3c689ceb2d6f75bf58e9fb438 100644 --- a/interface.go +++ b/interface.go @@ -97,7 +97,7 @@ type TrianglesColor interface { // Note that this represents picture coordinates, not an actual picture. type TrianglesPicture interface { Triangles - Picture(i int) (pic Vec, ok bool) + Picture(i int) (pic Vec, intensity float64) } // Picture represents a rectangular area of raster data, such as a color. It has Bounds which