MCPcopy
hub / github.com/g3n/engine / decColorOrTexture

Method decColorOrTexture

loader/collada/library_effects.go:649–687  ·  view source on GitHub ↗
(start xml.StartElement, dest *interface{})

Source from the content-addressed store, hash-verified

647}
648
649func (d *Decoder) decColorOrTexture(start xml.StartElement, dest *interface{}) error {
650
651 child, cdata, err := d.decNextChild(start)
652 if err != nil || child.Name.Local == "" {
653 return err
654 }
655 if child.Name.Local == "color" {
656 c := &Color{}
657 c.Sid = findAttrib(child, "sid").Value
658 *dest = c
659 var br bytesReader
660 br.Init(cdata)
661 idx := 0
662 for {
663 tok := br.TokenNext()
664 if tok == nil || len(tok) == 0 {
665 break
666 }
667 v, err := strconv.ParseFloat(string(tok), 32)
668 if err != nil {
669 return err
670 }
671 c.Data[idx] = float32(v)
672 idx++
673 }
674 return nil
675 }
676 if child.Name.Local == "texture" {
677 t := &Texture{}
678 t.Texture = findAttrib(child, "texture").Value
679 t.Texcoord = findAttrib(child, "texcoord").Value
680 *dest = t
681 return nil
682 }
683 if child.Name.Local == "param" {
684 return fmt.Errorf("not supported")
685 }
686 return nil
687}
688
689func (d *Decoder) decFloatOrParam(start xml.StartElement, dest *interface{}) error {
690

Callers 2

decBlinnMethod · 0.95
decPhongMethod · 0.95

Calls 4

decNextChildMethod · 0.95
InitMethod · 0.95
TokenNextMethod · 0.95
findAttribFunction · 0.85

Tested by

no test coverage detected