game.models.obj: some cleanup.
parent
6480a46c1e
commit
343e8d7b87
|
@ -46,10 +46,8 @@ TUPLE: material
|
|||
" \t\n" split harvest ;
|
||||
|
||||
: line>mtl ( line -- )
|
||||
" \t\n" split harvest
|
||||
[
|
||||
[ rest ] [ first ] bi
|
||||
{
|
||||
" \t\n" split harvest [
|
||||
unclip {
|
||||
{ "newmtl" [ first
|
||||
[ material new swap >>name current-material set ]
|
||||
[ cm swap md set-at ] bi
|
||||
|
@ -90,8 +88,7 @@ VERTEX-FORMAT: obj-vertex-format
|
|||
{ "NORMAL" float-components 3 f } ;
|
||||
|
||||
: triangle>aos ( x -- y )
|
||||
dup length
|
||||
{
|
||||
dup length {
|
||||
{ 3 [
|
||||
first3
|
||||
[ 1 - vp get nth ]
|
||||
|
@ -107,15 +104,15 @@ VERTEX-FORMAT: obj-vertex-format
|
|||
|
||||
: quad>aos ( x -- y z )
|
||||
[ 3 head [ triangle>aos 1array ] map ]
|
||||
[ [ 2 swap nth ]
|
||||
[ 3 swap nth ]
|
||||
[ 0 swap nth ] tri 3array
|
||||
[ triangle>aos 1array ] map ]
|
||||
bi ;
|
||||
[
|
||||
[ 2 swap nth ]
|
||||
[ 3 swap nth ]
|
||||
[ 0 swap nth ] tri 3array
|
||||
[ triangle>aos 1array ] map
|
||||
] bi ;
|
||||
|
||||
: face>aos ( x -- y )
|
||||
dup length
|
||||
{
|
||||
dup length {
|
||||
{ 3 [ [ triangle>aos 1array ] map 1array ] }
|
||||
{ 4 [ quad>aos 2array ] }
|
||||
} case ;
|
||||
|
@ -132,10 +129,8 @@ VERTEX-FORMAT: obj-vertex-format
|
|||
] unless-empty ;
|
||||
|
||||
: line>obj ( line -- )
|
||||
split-string
|
||||
[
|
||||
[ rest ] [ first ] bi
|
||||
{
|
||||
split-string [
|
||||
unclip {
|
||||
{ "mtllib" [ first read-mtl material-dictionary set ] }
|
||||
{ "v" [ strings>numbers 3 head vp [ push* ] change ] }
|
||||
{ "vt" [ strings>numbers 2 head vt [ push* ] change ] }
|
||||
|
|
Loading…
Reference in New Issue