MCPcopy Index your code
hub / github.com/g3n/engine / parseMtlLine

Method parseMtlLine

loader/obj/obj.go:719–756  ·  view source on GitHub ↗

****************************************************************************** mtl parse functions */ Parses material file line, dispatching to specific parsers

(line string)

Source from the content-addressed store, hash-verified

717
718// Parses material file line, dispatching to specific parsers
719func (dec *Decoder) parseMtlLine(line string) error {
720
721 // Ignore empty lines
722 fields := strings.Fields(line)
723 if len(fields) == 0 {
724 return nil
725 }
726 // Ignore comment lines
727 ltype := fields[0]
728 if strings.HasPrefix(ltype, "#") {
729 return nil
730 }
731 switch ltype {
732 case "newmtl":
733 return dec.parseNewmtl(fields[1:])
734 case "d":
735 return dec.parseDissolve(fields[1:])
736 case "Ka":
737 return dec.parseKa(fields[1:])
738 case "Kd":
739 return dec.parseKd(fields[1:])
740 case "Ke":
741 return dec.parseKe(fields[1:])
742 case "Ks":
743 return dec.parseKs(fields[1:])
744 case "Ni":
745 return dec.parseNi(fields[1:])
746 case "Ns":
747 return dec.parseNs(fields[1:])
748 case "illum":
749 return dec.parseIllum(fields[1:])
750 case "map_Kd":
751 return dec.parseMapKd(fields[1:])
752 default:
753 dec.appendWarn(mtlType, "field not supported: "+ltype)
754 }
755 return nil
756}
757
758// Parses new material definition
759// newmtl <mat_name>

Callers

nothing calls this directly

Calls 11

parseNewmtlMethod · 0.95
parseDissolveMethod · 0.95
parseKaMethod · 0.95
parseKdMethod · 0.95
parseKeMethod · 0.95
parseKsMethod · 0.95
parseNiMethod · 0.95
parseNsMethod · 0.95
parseIllumMethod · 0.95
parseMapKdMethod · 0.95
appendWarnMethod · 0.95

Tested by

no test coverage detected