report added

This commit is contained in:
Jasper 2015-03-10 15:24:56 +01:00
parent f4d84a2b11
commit c856227b47
12 changed files with 2459 additions and 0 deletions

1349
report/acmsiggraph.bst Normal file

File diff suppressed because it is too large Load Diff

531
report/acmsiggraph.cls Normal file
View File

@ -0,0 +1,531 @@
%
% acmsiggraph.cls
%
% version history
%
% - borrows *heavily* from Daniel Kartch's 'siggraph' class.
% - also uses pieces of 'apalike.sty' and 'authordate1-4.cls'
% - modifications include adjustment of citation format to more closely
% align with new (for SIGGRAPH 2002 conference and beyond) reference
% and citation formatting requirements.
% - version 0.1 2001/06/01 Stephen Spencer (spencer@acm.org)
% - version 0.2 2001/10/15 Stephen Spencer
% - the "\onlineid" variable works with the "review" mode, placing a
% banner across the top of each page "Online Submission ID 'onlineid'
% - version 0.3 2002/01/11 Stephen Spencer
% - disabled the cover page option.
% - version 0.4 2002/01/23 Stephen Spencer
% - based on suggestions from James O'Brien, the following changes:
% - correction if '\ifcamera' and '\ifcameraelse' commands
% - page numbering in both review and preprint modes
% have been made.
% - version 0.5 2005/01/22 Stephen Spencer
% - removed the category markers
% - version 0.6 2006/12/15 Stephen Spencer
% - tightened up space around section headings
% - version 0.7 2008/10/21 Stephen Spencer
% - added 'annualconference' parameter for copyright space
% - added line number support for 'review' mode
% - version 0.8 2011/03/02 Stephen Spencer (with Hugues Hoppe)
% - removal of 'widereview' mode
% - added hyperref
% - added URL Links for paper DOI and author-provided content.
%
% ---------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{acmsiggraph}[2011/03/02 ACM SIGGRAPH class]
% lots of options aren't allowed.
\DeclareOption{onecolumn}{\OptionNotUsed}
\DeclareOption{a4paper}{\OptionNotUsed}
\DeclareOption{12pt}{\OptionNotUsed}
\DeclareOption{14pt}{\OptionNotUsed}
% options that we DO want to set.
\newlength{\ACMpointsize}
\setlength{\ACMpointsize}{9pt}
% ``documentclass'' options.
\newif\if@ACMannual
\@ACMannualfalse
\DeclareOption{annual}{\@ACMannualtrue}
\newif\if@ACMsponsored
\@ACMsponsoredfalse
\DeclareOption{sponsored}{\@ACMsponsoredtrue}
\newif\if@ACMabstract
\@ACMabstractfalse
\DeclareOption{abstract}{\@ACMabstracttrue}
\newif\if@ACMreview
\@ACMreviewfalse
\DeclareOption{review}{\@ACMreviewtrue}
\newif\if@ACMpreprint
\@ACMpreprintfalse
\DeclareOption{preprint}{\@ACMpreprinttrue}
% pass the options, and load the 'article' class, on which 'acmsiggraph'
% is based.
\ProcessOptions\relax
\LoadClass[twocolumn,letterpaper]{article}
% required packages.
\RequirePackage{lineno}
\RequirePackage[scaled=.92]{helvet}
\RequirePackage{times}
\RequirePackage{graphicx}
\RequirePackage[labelfont=bf,textfont=it]{caption}
\RequirePackage{parskip}
% define things.
\setlength{\textheight}{9.250in}
\setlength{\textwidth}{7.000in}
\setlength{\topmargin}{-0.700in}
\setlength{\oddsidemargin}{-0.250in}
\setlength{\evensidemargin}{-0.250in}
\setlength{\columnsep}{2pc}
\setlength{\headheight}{0.200in}
\setlength{\headsep}{0.250in}
\setlength{\footskip}{0.500in}
% create a new length ``\ACMcopyrightspace'' and set its initial value.
\newlength{\ACMcopyrightspace}
\setlength{\ACMcopyrightspace}{3.3in}
% set the value of ``\ACMcopyrightspace'' based on the kind of document.
\if@ACMannual
\setlength{\ACMcopyrightspace}{1.5in}
\fi
\if@ACMsponsored
\setlength{\ACMcopyrightspace}{1.0in}
\fi
\if@ACMabstract
\setlength{\ACMcopyrightspace}{0in}
\fi
\if@ACMreview
\setlength{\ACMcopyrightspace}{0in}
\fi
\if@ACMpreprint
\setlength{\ACMcopyrightspace}{0in}
\fi
% define the ``\copyrightspace'' command.
% (todo) don't do this if ``\ACMcopyrightspace'' is zero.
\newcommand{\copyrightspace}{%
\renewcommand{\thefootnote}{}%
\footnotetext[0]{\rule[\ACMcopyrightspace]{2.71828in}{0in}}%
\renewcommand{\thefootnote}{\arabic{footnote}}
}
% in ``review'' mode, the ``\onlineid'' command passes the value given
% to the paper by the online submission system. This gets printed out
% at the top of each page.
\newcommand{\TOGonlineid}[1]{\gdef\@ACMonlineid{#1}}
\newcommand{\@ACMreviewtext}{Online Submission ID: \@ACMonlineid}
% in ``preprint'' mode, the ``\TOGvolume'' and ``\TOGnumber'' commands
% pass the volume and number of the TOG issue in which the paper will be
% published. This gets printed out at the top of each page.
\newcommand{\TOGvolume}[1]{\gdef\@ACMvolume{#1}}
\newcommand{\TOGnumber}[1]{\gdef\@ACMnumber{#1}}
\newcommand{\@ACMpreprinttext}{To appear in ACM TOG \@ACMvolume(\@ACMnumber).}
%%%
\newcommand{\ifreview}[1]{\if@ACMreview #1 \fi}
\newcommand{\ifreviewelse}[2]{\if@ACMreview #1 \else #2 \fi}
%%%
\newcommand{\@ACMarticleDOI}{} % of the form 1073204.1073261
\newcommand{\@ACMarticleDOIsuffix}{} % of the form 1073261
\def\@ACMgetDOIsuffix#1.#2\@nil{#2}
\newcommand{\TOGarticleDOI}[1]{%
\renewcommand{\@ACMarticleDOI}{#1}
\in@{.}{#1}% given DOI of the form 1073204.1073261, if there is a period, extract the second part
\ifin@
\renewcommand{\@ACMarticleDOIsuffix}{\@ACMgetDOIsuffix#1\@nil}
\else
\renewcommand{\@ACMarticleDOIsuffix}{#1}
\fi
}
%%%
\newcommand{\pdfauthor}[1]{\gdef\@ACMpdfauthor{#1}}
% if we are in ``review'' or ``preprint'' modes, set up special headers
% and footers for each page of the paper.
\renewcommand{\ps@plain}%
{%
\renewcommand{\@oddhead}{}%
\renewcommand{\@oddfoot}{}%
\if@ACMpreprint%
\renewcommand{\@oddhead}{\hfil\textit{\large\@ACMpreprinttext}\hfil}%
\renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil}%
\fi%
\if@ACMreview%
\renewcommand{\@oddhead}{\hfil\textit{\large\@ACMreviewtext}\hfil}%
\renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil}%
\fi%
\renewcommand{\@evenhead}{\@oddhead}%
\renewcommand{\@evenfoot}{\@oddfoot}%
}
\renewcommand{\ps@empty}%
{%
\renewcommand{\@oddhead}{}%
\renewcommand{\@oddfoot}{}%
\if@ACMpreprint%
\renewcommand{\@oddhead}{\hfil\textit{\large\@ACMpreprinttext}\hfil}%
\renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil}%
\fi%
\if@ACMreview%
\renewcommand{\@oddhead}{\hfil\textit{\large\@ACMreviewtext}\hfil}%
\renewcommand{\@oddfoot}{\hfil\textrm{\thepage}\hfil}%
\fi%
\renewcommand{\@evenhead}{\@oddhead}%
\renewcommand{\@evenfoot}{\@oddfoot}%
}
% no page numbers!
\pagestyle{plain}
% if we are in ``review'' mode, turn on line numbers.
\if@ACMreview%
\linenumbers
\fi
% Nine-point type is the standard.
\newcommand{\@ACMsetninepoint}{
\renewcommand\normalsize{%
\@setfontsize\normalsize\@ixpt\@xpt
\abovedisplayskip 9\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\renewcommand\small{%
\@setfontsize\small\@viipt\@ixpt
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 4\p@ \@plus2\p@ \@minus2\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip}
\renewcommand\footnotesize{%
\@setfontsize\footnotesize\@viiipt{9.5}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
\belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 3\p@ \@plus\p@ \@minus\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip}
\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
\renewcommand\large{\@setfontsize\large\@xpt\@xiipt}
\renewcommand\Large{\@setfontsize\Large\@xiipt{14}}
\renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{18}}
\renewcommand\huge{\@setfontsize\huge\@xviipt{22}}
\renewcommand\Huge{\@setfontsize\Huge\@xxpt{25}}
\selectfont
}
\@ACMsetninepoint
% Section and subsection environment tweaks.
\newcommand{\@ACMsectionfont}{}
\newcommand{\sectionfont}[1]{\renewcommand{\@ACMsectionfont}{#1}}
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-1.0ex}%
{1.0ex}%
{\reset@font\Large\sffamily\bfseries\@ACMsectionfont}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-1.0ex}%
{1.0ex}%
{\reset@font\large\sffamily\bfseries\@ACMsectionfont}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-1.0ex}%
{1.0ex}%
{\reset@font\normalsize\sffamily\bfseries\@ACMsectionfont}}
% Paragraph and subparagraph environment tweaks.
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{2.05ex}%
{-1em}%
{\reset@font\normalsize\sffamily\bfseries\@ACMsectionfont}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\reset@font\normalsize\sffamily\bfseries\@ACMsectionfont}}
% no labels in bibliography.
\def\@biblabel#1{}
% bibitems are flush left, with successive lines indented by 1em.
\newlength{\bibhang}
\setlength{\bibhang}{1em}
\def\thebibliography#1{%
\section*{%
\refname\@mkboth{\sl\uppercase{\refname}}{\sl\uppercase{\refname}}}
\list{\relax}{\setlength{\labelsep}{0em}
\setlength{\itemindent}{-\bibhang}
\setlength{\leftmargin}{\bibhang}}
\def\newblock{\hskip .11em plus .33em minus .07em}
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax}
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
\def\@citea{}\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{; }\@ifundefined
{b@\@citeb}{{\bf ?}\@warning
{Citation '\@citeb' on page \thepage \space undefined}}%
{\csname b@\@citeb\endcsname}}}{#1}}
\let\@internalcite\cite
\def\cite{\def\citename##1{##1}\@internalcite}
\def\shortcite{\def\citename##1{}\@internalcite}
% title stuff...
\newcommand{\@ACMempty}{}
\newcommand{\@ACMaffiliation}{}
\newcommand{\affiliation}[1]{\gdef\@ACMaffiliation{#1}}
\newcommand{\@ACMteaser}{}
\newcommand{\teaser}[1]{\gdef\@ACMteaser{#1}}
\newlength{\titlespace}
\setlength{\titlespace}{0.25in}
\newlength{\teaserspace}
\setlength{\teaserspace}{0.25in}
\if@ACMreview
\renewcommand{\@maketitle}{%
\begin{center}%
\renewcommand{\thanks}[1]{}
{\LARGE\sffamily\bfseries\@ACMsectionfont \@title \par}%
\vspace{1\baselineskip}%
\vspace{\titlespace}%
\ifx\@ACMteaser\@ACMempty \else%
\begingroup%
\def\@captype{figure}%
\@ACMteaser%
\endgroup\par%
\vspace{\teaserspace}%
\fi%
\end{center} \par%
}
\else
\renewcommand{\@maketitle}{%
\begin{center}%
{\LARGE\sffamily\bfseries\@ACMsectionfont \@title \par}%
\vspace{1\baselineskip}%
\large
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par%
\ifx\@ACMaffiliation\@ACMempty \else%
\vspace{0.5\baselineskip}%
\@ACMaffiliation\par%
\fi%
\vspace{\titlespace}%
\ifx\@ACMteaser\@ACMempty \else%
\begingroup%
\def\@captype{figure}%
\@ACMteaser%
\endgroup\par%
\vspace{\teaserspace}%
\fi%
\end{center} \par%
}
\fi
\let\@ACMorigmaketitle\maketitle
\let\@ACMorigand\and
\renewcommand{\maketitle}{%
\let\@ACMtitle\@title%
\let\@ACMauthor\@author%
\@ACMorigmaketitle%
\thispagestyle{empty}%
}
% Abstract stuff...
\newtoks\@ACMabs
\if@ACMreview
\long\def\@ACMadd#1{\global\@ACMabs\expandafter{\the\@ACMabs#1}}
\long\def\@ACMcollect{%
\global\@ACMabs{}%
\let\abstract\@ACM@collect
\abstract
}
\long\def\@ACM@collect#1\end#2{%
\def\@tempa{#2}%
\ifx\@tempa\@currenvir
\@ACMadd{#1}%
\edef\abstract{\noexpand\end{\@tempa}}%
\else
\@ACMadd{#1\end{#2}}%
\fi
\abstract
}
\newcommand{\@ACMmodify}{%
\let\@ACMorigabs\abstract%
\let\@ACMorigendabs\endabstract%
\renewenvironment{abstract}%
{\@ACMcollect}%
{\begingroup
\let\abstract\@ACMorigabs
\let\endabstract\@ACMorigendabs
\begin{abstract} \the\@ACMabs \end{abstract}
\endgroup}%
}
\AtBeginDocument{\@ACMmodify}
\fi
%%% Keyword list.
\newcommand{\@ACMkeywords}{}
\newcommand{\keywords}[1]{\renewcommand{\@ACMkeywords}{#1}}
\newcommand{\keywordlist}{%
\vspace{0.5\baselineskip}%
\par\noindent \textbf{Keywords: } \@ACMkeywords%
}
%%% Computing Review (CR) categories.
\newenvironment{CRcatlist}{%
\vspace{0.5\baselineskip}%
\par\noindent \textbf{CR Categories: }%
}{}
\newcommand{\CRcat}[4]{%
#1 [#2]%
\ifx#3\@ACMempty \else : #3\fi%
\ifx#4\@ACMempty \else ---#4\fi%
}
%%% Icon(s) with hyperlinks.
\newcommand{\@ACMurlWeb}{}
\newcommand{\TOGprojectURL}[1]{\renewcommand{\@ACMurlWeb}{#1}}
\newcommand{\@ACMurlVideo}{}
\newcommand{\TOGvideoURL}[1]{\renewcommand{\@ACMurlVideo}{#1}}
\newcommand{\@ACMurlData}{}
\newcommand{\TOGdataURL}[1]{\renewcommand{\@ACMurlData}{#1}}
\newcommand{\@ACMurlCode}{}
\newcommand{\TOGcodeURL}[1]{\renewcommand{\@ACMurlCode}{#1}}
\newcommand{\icon@DL}{\raisebox{-.02in}{\includegraphics[width=.13in]{icons/iconacm}}\hspace{.01in}DL}
\newcommand{\icon@PDF}{\raisebox{-.02in}{\includegraphics[width=.11in]{icons/iconpdf}}\hspace{.015in}PDF}
\newcommand{\icon@Web}{\raisebox{-.025in}{\includegraphics[width=.11in]{icons/iconweb}}\hspace{.01in}Web}
\newcommand{\icon@Video}{\raisebox{-.01in}{\includegraphics[width=.11in]{icons/iconvideo}}\hspace{.007in}Video}
\newcommand{\icon@Data}{\raisebox{-.01in}{\includegraphics[width=.10in]{icons/icondata}}\hspace{.015in}Data}
\newcommand{\icon@Code}{\raisebox{-.005in}{\includegraphics[width=.10in]{icons/iconcode}}\hspace{.017in}Code}
\newcommand{\TOGlinkslist}{%
\if@ACMannual
{%
\ifx\@ACMarticleDOI\@ACMempty%
\ClassWarningNoLine{acmsiggraph}{Please set \noexpand\TOGarticleDOI.}%
\fi%
{\bf Links:}%
\sc%
\ifx\@ACMarticleDOI\@ACMempty\else%
\hspace{0.09in}\href{http://doi.acm.org/10.1145/\@ACMarticleDOI}{\icon@DL}%
\ifx\@ACMarticleDOIsuffix\@ACMempty\else%
\hspace{0.09in}\href{http://portal.acm.org/ft_gateway.cfm?id=\@ACMarticleDOIsuffix&type=pdf}{\icon@PDF}\fi%
\ifx\@ACMurlWeb\@ACMempty\else%
\hspace{0.09in}\href{\@ACMurlWeb}{\icon@Web}\fi%
\ifx\@ACMurlVideo\@ACMempty\else%
\hspace{0.09in}\href{\@ACMurlVideo}{\icon@Video}\fi%
\ifx\@ACMurlData\@ACMempty\else%
\hspace{0.09in}\href{\@ACMurlData}{\icon@Data}\fi%
\ifx\@ACMurlCode\@ACMempty\else%
\hspace{0.09in}\href{\@ACMurlCode}{\icon@Code}\fi%
\fi%
}%
\fi
}
% Package hyperref should come late in class file to properly apply to any modified commands.
\RequirePackage{ifpdf}
\ifpdf
\usepackage[pdftex,breaklinks,hyperfootnotes=false,bookmarks=false]{hyperref}
\else
\usepackage[hyperfootnotes=false,bookmarks=false]{hyperref}
\fi
\hypersetup{
colorlinks=true,linkcolor=black,citecolor=black,urlcolor=black
}
% remove newlines ('\\') from \title when assigning \pdftitle
\pdfstringdefDisableCommands{%
% \let~\textasciitilde
% \def\url{\pdfstringdefWarn\url}%
% \let\textcolor\@gobble
\let\\\@gobble
}
\AtBeginDocument{%
\if@ACMreview%
\hypersetup{
pdfcreator={LaTeX acmsiggraph.cls},
pdfkeywords={\@ACMkeywords},
pdftitle={\@title},
}%
\else%
\hypersetup{
pdfcreator={LaTeX acmsiggraph.cls},
pdfkeywords={\@ACMkeywords},
pdftitle={\@title},
pdfauthor={\@ACMpdfauthor},
}%
\fi
}
%% end of file
\endinput

BIN
report/images/Dummy.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 KiB

19
report/references.bib Normal file
View File

@ -0,0 +1,19 @@
@article{Buildings,
author = {Pascal M\"{u}ller and Peter Wonka and Simon Haegler and Andreas Ulmer and Luc Van Gool},
title = {Procedural modeling of buildings},
journal = {ACM Trans. Graph.},
volume = {25},
number = {3},
year = {2006},
issn = {0730-0301},
pages = {614--623},
doi = {http://doi.acm.org/10.1145/1141911.1141931},
publisher = {ACM Press},
address = {New York, NY, USA},
}
@misc{Inkscape,
title = {Inkscape},
howpublished = {http://www.inkscape.org},
year = {June, 2010},
}

38
report/report.aux Normal file
View File

@ -0,0 +1,38 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Teaser\relax }}{1}{figure.1}}
\newlabel{fig:Teaser}{{1}{1}{Teaser\relax }{figure.1}{}}
\@LN@col{1}
\@writefile{toc}{\contentsline {section}{\numberline {1}Basic Layout}{1}{section.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Details}{1}{section.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Loading}{1}{subsection.2.1}}
\@LN@col{2}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Triggers}{1}{subsection.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Graphics}{1}{subsection.2.3}}
\bibstyle{acmsiggraph}
\bibdata{references}
\@LN@col{1}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Physics}{2}{subsection.2.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Content Creation}{2}{subsection.2.5}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Conclusion}{2}{section.3}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Use one image.\relax }}{2}{figure.caption.2}}
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{fig:OneImage}{{2}{2}{Use one image.\relax }{figure.caption.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Use several images.\relax }}{2}{figure.caption.3}}
\newlabel{fig:SeveralImages}{{3}{2}{Use several images.\relax }{figure.caption.3}{}}

426
report/report.log Normal file
View File

@ -0,0 +1,426 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2015.2.26) 10 MAR 2015 15:15
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**report.tex
(./report.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(./acmsiggraph.cls
Document Class: acmsiggraph 2011/03/02 ACM SIGGRAPH class
\ACMpointsize=\skip41
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip42
\belowcaptionskip=\skip43
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/lineno/lineno.sty
Package: lineno 2005/11/02 line numbers on paragraphs v4.41
\linenopenalty=\count87
\output=\toks14
\linenoprevgraf=\count88
\linenumbersep=\dimen103
\linenumberwidth=\dimen104
\c@linenumber=\count89
\c@pagewiselinenumber=\count90
\c@LN@truepage=\count91
\c@internallinenumber=\count92
\c@internallinenumbers=\count93
\quotelinenumbersep=\dimen105
\bframerule=\dimen106
\bframesep=\dimen107
\bframebox=\box26
LaTeX Info: Redefining \\ on input line 3056.
)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty
Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/05/08 v1.15 key=value parser (DPC)
\KV@toks@=\toks15
))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
Package: times 2005/04/12 PSNFSS-v9.2a (SPQR)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
)
Package graphics Info: Driver file: pdftex.def on input line 91.
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count94
))
\Gin@req@height=\dimen108
\Gin@req@width=\dimen109
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 57.
\captionmargin=\dimen110
\captionmargin@=\dimen111
\captionwidth=\dimen112
\caption@tempdima=\dimen113
\caption@indent=\dimen114
\caption@parindent=\dimen115
\caption@hangindent=\dimen116
)
\c@ContinuedFloat=\count95
)
(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
Package: parskip 2001/04/09 non-zero parskip adjustments
)
\ACMcopyrightspace=\skip44
\bibhang=\skip45
\titlespace=\skip46
\teaserspace=\skip47
\@ACMabs=\toks16
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
Package ifpdf Info: pdfTeX in PDF mode is detected.
)
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
Package hobsub Info: Skipping package `infwarerr' (already loaded).
Package hobsub Info: Skipping package `ltxcmds' (already loaded).
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
Package hobsub Info: Skipping package `ifpdf' (already loaded).
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
)
Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
)
Package hobsub Info: Skipping package `hobsub' (already loaded).
Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
Package: xcolor-patch 2011/01/30 xcolor patch
Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
Package atveryend Info: \enddocument detected (standard20110627).
Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
)
\@linkdim=\dimen117
\Hy@linkcounter=\count96
\Hy@pagecounter=\count97
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
)
\Hy@SavedSpaceFactor=\count98
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
)
Package hyperref Info: Option `breaklinks' set `true' on input line 4319.
Package hyperref Info: Option `hyperfootnotes' set `false' on input line 4319.
Package hyperref Info: Option `bookmarks' set `false' on input line 4319.
Package hyperref Info: Hyper figures OFF on input line 4443.
Package hyperref Info: Link nesting OFF on input line 4448.
Package hyperref Info: Hyper index ON on input line 4451.
Package hyperref Info: Plain pages OFF on input line 4458.
Package hyperref Info: Backreferencing OFF on input line 4463.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks OFF on input line 4694.
\c@Hy@tempcnt=\count99
(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip10
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 5041.
\XeTeXLinkMargin=\dimen118
\Fld@menulength=\count100
\Field@Width=\dimen119
\Fld@charsize=\dimen120
Package hyperref Info: Hyper figures OFF on input line 6295.
Package hyperref Info: Link nesting OFF on input line 6300.
Package hyperref Info: Hyper index ON on input line 6303.
Package hyperref Info: backreferencing OFF on input line 6310.
Package hyperref Info: Link coloring OFF on input line 6315.
Package hyperref Info: Link coloring with OCG OFF on input line 6320.
Package hyperref Info: PDF/A mode OFF on input line 6325.
LaTeX Info: Redefining \ref on input line 6365.
LaTeX Info: Redefining \pageref on input line 6369.
\Hy@abspage=\count101
\c@Item=\count102
)
Package hyperref Message: Driver: hpdftex.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
\Fld@listcount=\count103
\c@bookmark@seq@number=\count104
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
82.
)
\Hy@SectionHShift=\skip48
)
Package hyperref Info: Option `colorlinks' set `true' on input line 503.
)
(/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty
Package: tabularx 2014/10/28 v2.10 `tabularx' package (DPC)
(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
Package: array 2014/10/28 v2.4c Tabular extension package (FMi)
\col@sep=\dimen121
\extrarowheight=\dimen122
\NC@list=\toks17
\extratabsurround=\skip49
\backup@length=\skip50
)
\TX@col@width=\dimen123
\TX@old@table=\dimen124
\TX@old@col=\dimen125
\TX@target=\dimen126
\TX@delta=\dimen127
\TX@cols=\count105
\TX@ftn=\toks18
) (./report.aux)
\openout1 = `report.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 18.
LaTeX Font Info: ... okay on input line 18.
LaTeX Font Info: Try loading font information for OT1+ptm on input line 18.
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd
File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm.
)
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count106
\scratchdimen=\dimen128
\scratchbox=\box27
\nofMPsegments=\count107
\nofMParguments=\count108
\everyMPshowfont=\toks19
\MPscratchCnt=\count109
\MPscratchDim=\dimen129
\MPnumerator=\count110
\makeMPintoPDFobject=\count111
\everyMPtoPDFconversion=\toks20
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
)
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 452.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: hyperref package is loaded.
Package caption Info: End \AtBeginDocument code.
\AtBeginShipoutBox=\box28
(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
Package: color 2014/04/23 v1.1a Standard LaTeX Color (DPC)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
)
Package color Info: Driver file: pdftex.def on input line 137.
)
Package hyperref Info: Link coloring ON on input line 18.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
)
\c@section@level=\count112
)
LaTeX Info: Redefining \ref on input line 18.
LaTeX Info: Redefining \pageref on input line 18.
LaTeX Info: Redefining \nameref on input line 18.
LaTeX Font Info: Try loading font information for OT1+phv on input line 25.
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd
File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv.
)
LaTeX Font Info: Font shape `OT1/phv/m/n' will be
(Font) scaled to size 13.24796pt on input line 25.
LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <14.4> not available
(Font) Font shape `OT1/phv/b/n' tried instead on input line 25.
LaTeX Font Info: Font shape `OT1/phv/b/n' will be
(Font) scaled to size 13.24796pt on input line 25.
LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <10> not available
(Font) Font shape `OT1/phv/b/n' tried instead on input line 25.
LaTeX Font Info: Font shape `OT1/phv/b/n' will be
(Font) scaled to size 9.19998pt on input line 25.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 25.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 25.
<images/teasersmall.png, id=4, 1606.0pt x 702.625pt>
File: images/teasersmall.png Graphic file (type png)
<use images/teasersmall.png>
Package pdftex.def Info: images/teasersmall.png used on input line 25.
(pdftex.def) Requested size: 505.89pt x 221.32803pt.
Package caption Warning: The option `hypcap=true' will be ignored for this
(caption) particular \caption on input line 25.
See the caption package documentation for explanation.
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 25.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 25.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 25.
LaTeX Font Info: Font shape `OT1/phv/m/n' will be
(Font) scaled to size 11.03998pt on input line 27.
LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <12> not available
(Font) Font shape `OT1/phv/b/n' tried instead on input line 27.
LaTeX Font Info: Font shape `OT1/phv/b/n' will be
(Font) scaled to size 11.03998pt on input line 27.
LaTeX Font Info: Font shape `OT1/phv/m/n' will be
(Font) scaled to size 9.19998pt on input line 39.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
<./images/teasersmall.png>] <images/Dummy.jpg, id=25, 314.17375pt x 338.26375p
t>
File: images/Dummy.jpg Graphic file (type jpg)
<use images/Dummy.jpg>
Package pdftex.def Info: images/Dummy.jpg used on input line 81.
(pdftex.def) Requested size: 72.28423pt x 77.82483pt.
File: images/Dummy.jpg Graphic file (type jpg)
<use images/Dummy.jpg>
Package pdftex.def Info: images/Dummy.jpg used on input line 87.
(pdftex.def) Requested size: 72.28423pt x 77.82483pt.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 87.
File: images/Dummy.jpg Graphic file (type jpg)
<use images/Dummy.jpg>
Package pdftex.def Info: images/Dummy.jpg used on input line 88.
(pdftex.def) Requested size: 72.28423pt x 77.82483pt.
File: images/Dummy.jpg Graphic file (type jpg)
<use images/Dummy.jpg>
Package pdftex.def Info: images/Dummy.jpg used on input line 89.
(pdftex.def) Requested size: 72.28423pt x 77.82483pt.
No file report.bbl.
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 96.
[2 <./images/Dummy.jpg>]
Package atveryend Info: Empty hook `AfterLastShipout' on input line 96.
(./report.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 96.
Package atveryend Info: Empty hook `AtEndAfterFileList' on input line 96.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 96.
)
Here is how much of TeX's memory you used:
6624 strings out of 493105
101911 string characters out of 6137072
187212 words of memory out of 5000000
10009 multiletter control sequences out of 15000+600000
23185 words of font info for 46 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
43i,13n,40p,636b,363s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/share/texlive/texmf
-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb></usr/share/texlive/texmf-dist/f
onts/type1/urw/helvetic/uhvb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/u
rw/times/utmb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a
.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
Output written on report.pdf (2 pages, 904581 bytes).
PDF statistics:
61 PDF objects out of 1000 (max. 8388607)
47 compressed objects within 1 object stream
15 named destinations out of 1000 (max. 500000)
11 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
report/report.pdf Normal file

Binary file not shown.

BIN
report/report.synctex.gz Normal file

Binary file not shown.

96
report/report.tex Normal file
View File

@ -0,0 +1,96 @@
\documentclass[sponsored]{acmsiggraph}
\title{Developing a Marble game \\ \large \normalfont Results of a practical
course at the Chair for Computer Graphics and Multimedia \\ (RWTH Aachen
University, Germany)}
\author{Jasper Veit Manousek\thanks{Jasper.Manousek@rwth-aachen.de}
\and Steffen F\"undgens\thanks{Steffen.Fuendgens@rwth-aachen.de}
\and Author 3\thanks{author3@rwth-aachen.de}
\and Author 4\thanks{author4@rwth-aachen.de} }
\pdfauthor{Jasper Veit Manousek, Author 2, Author 3, Author 4}
\keywords{game programming, pinball game}
\usepackage{tabularx}
\begin{document}
\teaser{
\includegraphics[width=\linewidth]{images/teasersmall.png}
\caption{\label{fig:Teaser} Teaser}
}
\maketitle
\begin{abstract}
Marble racing games are a sub-genre of games where the player controls a marble to either run races, solve puzzles or complete some other tasks. In Saxum the player must travel through an open level completing some basic switch tasks and a simple puzzle to help the sun rise again.
\end{abstract}
\section{Basic Layout}
Our game is designed around the main level class. In it we load all the data from our XML files as needed. From here we also have access to the other two main classes, the physics and the graphics classes. Additionally we have the list of all our objects here.
\section{Details}
\subsection{Loading}
Our game plays mainly on a height-map. We load the height-map from a greyscale png and pass the height-data to a framebuffer, so ACGL can render it. We also pass the height-data to \textit{Bullet Physics}, to create a colision shape.
On the height-map we place objects that we load from two XML files. The compositions file defines some properties for classes of objects, like the names of the obj file and the texture file, and parameters for lighting and for the physics. It also defines compositions that are made up of multiple objects that can be scaled, rotated and translated individually. One compositions file could get used for multiple levels. The level XML file defines which compositions are placed where. This part of the file gets generated by our converter. In addition to that, the compositions can also be scaled and rotated manually here.
The converter is a separate executable that takes the path to a PNG file as input. In the PNG file compositions are placed as pixels.
We decided to let the red value of the pixel identify which kind of composition it is. The green and blue values are written by the converter and used to identify single compositions. This way manual changes in the generated level XML can be kept when the converter is run again.
\subsection{Triggers}
Because a lot of the gameplay in Saxum is focused on solving challenges and activating events, we decided to integrate the scripting language LUA to make our triggers customizable. In the level XML we can add triggers to objects. We define a region in global space and when the object enters or leaves the region a LUA script is called. The script can then activate different events like opening a door or letting the sun rise at the end of the level.
\subsection{Graphics}
Some techniques are a little bit more advanced, so that you can even use subsections.
\subsection{Physics}
The physics is based on Bullet Physics, with a simple callback function used to relay the data to the graphics pipeline. We decided to use a btvhTerrainShape for the terrain. This is much more effective than using a triangle mesh. Additionally we have spheres, boxes, and a few other basic primitives. Finally we implemented btvhTriangleMesh shapes and concave triangle meshes, which are more strenuous for the system, but allow for moveable triangle meshes.
Unfortunately Bullet Physics proved unable to handle many forms of constraints that we required. For this we created two instances of spring constraints. The first is a spring constraint which creates a force attempting to keep two rigid bodies a set distance apart. The second was a derivation of the first, generating a force in an attempt to confine the rigid body to a certain position. This constraint is what we used to create switches that could be embedded within the terrain by filtering out the collision between the two bodies.
We also used a similar constraint to create a physics based camera. The camera attempts to follow the player at an angle specified by the player. Finally we used the constraints to get the player to float in the air. To do this a constraint is added via the LUA script, allowing the player get an improved view of the sunrise.
Additionally the respawn animation was created using the physics engine. It lets the ball continue to rotate, while changing certain properties of it, especially how it will move and that it will ignore the collision with all other objects. After it sinks a certain distance it will reappear in a similar fashion before its normal physic state is restored.
The physics came with many challenges, partially stemming from our integration into a new field, but also partially due to the nature of Bullet Physics itself. If bullet does not recieve enough updates the simulation becomes jagged and unrealistic. To solve this it is suggested to recall the world multiple times per frame to allow a more accurate simulation. Unfortunately, especially with the introduction of the physics based camera, problems arose. To solve this we not only recalled the complete update method within the physics, but also recall the complete update method in the level to stabilize the experience.
\subsection{Content Creation}
\section{Conclusion}
Our group had no prior experience with such large projects. Though our lack of previous experience hampered our progress, we have managed to amass a great deal of experience in game design, project management and teamwork, as well as knowledge in the underlying framework of games.
Our game is an interesting twist on an old concept, and our play tests have shown that we manage to achieve a notable awe factor for those who complete it.
Through the experience we have gained we are confident that all our future projects, especially those in the discipline of game programming will benefit greatly.
\begin{figure}[t]
\centering
\includegraphics[width=0.3\linewidth]{images/Dummy}
\caption{\label{fig:OneImage} Use one image.}
\end{figure}
\begin{figure}[t]
\centering
\parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (a)}
\parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (b)}
\parbox{0.3\linewidth}{\centering \includegraphics[width=\linewidth]{images/Dummy} \\ (c)}
\caption{\label{fig:SeveralImages}
Use several images.}
\end{figure}
\bibliographystyle{acmsiggraph}
\bibliography{references}
\end{document}