ignore for *.opensdf
some refactoring for supporting rendering from multiple viewpoints