Matt Pharr f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
..
geometry 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
spds 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
textures 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
README.txt 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
frame120.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame180.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame210.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame25.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame300.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame35.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame380.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame52.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
frame85.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ
geometry-f120.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f180.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f210.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f25.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f300.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f35.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f380.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f52.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
geometry-f85.pbrt 1abbabfaa1 Remove "twosided" option from measure-one emitters. 4 gadi atpakaļ
geometry.pbrt f411bd77a6 Fix Object/Attribute End nesting for measure-one 4 gadi atpakaļ
lights.sed 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
main.pbrt 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
materials.pbrt 654a13ea97 Update measure-one materials to be more energy-conserving. 6 gadi atpakaļ
parseass.go 0270166920 Add Zero-Day frames (from measure one) 7 gadi atpakaļ
textures.pbrt b69350d299 More improvements to the Measure One scenes 6 gadi atpakaļ

README.txt


Conversion notes:

Frames were exported from Cinema4D using the pbrt exporter. (It's important
to change the logging level in the export dialog to "Error", since
otherwise many messages are generated and it seems that c4d has some sort
of O(n^2) thing going on there, since exports slow to a crawl.

Geometry fiels were then converted to use PLY meshes using "pbrt
--toply". There are many repeated meshes (both shared across multiple
frames but also identical meshes within a single frame. These were boiled
down to unique messages using the following go program, which prints a
script for "sed" to stdout.

package main

import (
"crypto/sha256"
"encoding/hex"
"fmt"
"io/ioutil"
"os"
)

func main() {
for _, fn := range os.Args[1:] {
contents, err := ioutil.ReadFile(fn)
if err != nil {
fmt.Fprintf(os.Stderr, "%s: %v", fn, err)
continue
}
sum := sha256.Sum256(contents)
str := hex.EncodeToString(sum[:]) + ".ply"
fmt.Printf("s/%s/%s/g\n", fn, str)
err = os.Rename(fn, str)
if err != nil {
fmt.Fprintf(os.Stderr, "%s: %v", fn, err)
}
}
}

The pbrt geometry file that --toply emitted was then updated to use the
hashed file names generated by the go program:

% sed -f out.sed < ply-geometry.pbrt > g.pbrt

Note that the sed script has thousands of lines and sed seems to be quite
slow--it takes many minutes to run the sed script, even though the geometry
file is only around 4.5MB.

To add all of the light sources, use the lights.sed script:

% sed -f lights.sed < g.pbrt > g-lights.pbrt

Finally, rename g-lights.pbrt to something sensible and update the Include
in the main pbrt file for the frame to use it. More generally, replace
everything after the Film directive in the generated pbrt file up to the
geometry Include with the text from one of the other frame files.

Whew