Commit b2ddaa8d by Kai Westerkamp

gltf

parent d57f1a71
...@@ -8,10 +8,26 @@ Rendering Equation: \cite{Kajiya:1986:RE} ...@@ -8,10 +8,26 @@ Rendering Equation: \cite{Kajiya:1986:RE}
Das GL Transmission Format (glTF) ist ein Format zum effizienten Übertragen von 3D Daten für Gl Api's wie WebGL, OpenGl ES und OpenGL. Das GL Transmission Format (glTF) ist ein Format zum effizienten Übertragen von 3D Daten für Gl Api's wie WebGL, OpenGl ES und OpenGL.
GlTF dient als effizientes, einheitliches und erweiterbares Format zur Übertragung und dem Laden von 3D Daten. GlTF dient als effizientes, einheitliches und erweiterbares Format zur Übertragung und dem Laden von 3D Daten.
Im Vergleich zu aktuellen Standards wie COLADA ist glTF optimiert schnell heruntergeladen und in eine Applikation geladen zu werden. Im Vergleich zu aktuellen Standards wie COLADA ist glTF optimiert schnell heruntergeladen und in eine Applikation geladen zu werden.
In einem JSON formatierten Datei (.gltf) wird eine komplette Scene samt Szenegraf, Materialien und deren zugehörigen Shadern, Kameras und Animationen übertragen. In einem JSON formatierten Datei (.gltf) wird eine komplette Szene samt Szenegraf, Materialien und deren zugehörigen Shadern, Kameras, Animationen und Skinning Informationen übertragen.
Dabei kann auf externe Dateien verwiesen werden mit Binärdaten, Bildern oder Shadern. Dabei kann auf externe Dateien verwiesen werden mit Binärdaten zur einfachen Übertragung von Geometrie, Bildern als Texturen oder den nötigen Shadern.
\subsection{Struktur} \subsection{Struktur}
\begin{figure}
\begin{center}
\label{img:glTFOverview}
\includegraphics[width=\textwidth]{Bilder/dictionary-objects.png}
\caption{Dateien und deren Aufgaben in einem glTF Datei}
\end{center}
\end{figure}
In deisem Kapitel wird ein grober Überblick über die Struktur und die Komponenten des GL Transmission Format gegeben.
Alle Informationen über Animationen und Mesh Skinning werden weggelassen da diese im weiteren nicht wichtig sind für die Darstellung von Geodaten.
\subsubsection{Buffers and Accessors}
Buffer sind die eigentlichen Daten in einem Binären Block.
Diese können entweder als externe Datei (.bin) oder als BASE64 encodierter String in der JSON Datei angefügt werden.
Die Hauptaufgabe der Buffer ist es große mengen an Daten wie die Geometrie effizient zu übertragen.
\section{3D Tiles} \section{3D Tiles}
\documentclass{thesisclass}
% Based on thesisclass.cls of Timo Rohrberg, 2009
% ----------------------------------------------------------------
% Thesis - Main document
% ----------------------------------------------------------------
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{dsfont}
\usepackage{pgfplots}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{blindtext}
\renewcommand{\vec}{\overline}
\renewcommand{\to}{\rightarrow}
\newcommand{\lra}{\leftrightarrow}
\newcommand{\fat}{\boldsymbol}
\newcommand{\dotp}[2]{\left\langle #1, #2 \right\rangle}
\newcommand{\dist}[2]{\left\| #1 - #2 \right\|}
\newcommand{\abs}[1]{\left| #1 \right|}
%% -------------------------------
%% | Information for PDF file |
%% -------------------------------
\hypersetup{
pdfauthor={Not set},
pdftitle={Not set},
pdfsubject={Not set},
pdfkeywords={Not set}
}
%% ---------------------------------
%% | Information about the thesis |
%% ---------------------------------
\newcommand{\myname}{Kai Westerkamp}
\newcommand{\mytitle}{\iflanguage{english}{The best Topic in the World}{Das schönste Thema der Welt}}
\newcommand{\reviewerone}{XXXX}
\newcommand{\reviewertwo}{XXXX}
\newcommand{\advisor}{XXXX}
\newcommand{\timestart}{xx.xx.xxxx}
\newcommand{\timeend}{xx.xx.xxxx}
\newcommand{\submissiontime}{xx.xx.xxxx}
%% ---------------------------------
%% | ToDo Marker - only for draft! |
%% ---------------------------------
% Remove this section for final version!
\setlength{\marginparwidth}{20mm}
\newcommand{\margtodo}
{\marginpar{\textbf{\textcolor{red}{ToDo}}}{}}
\newcommand{\todo}[1]
{{\textbf{\textcolor{red}{(\margtodo{}#1)}}}{}}
%% --------------------------------
%% | Old Marker - only for draft! |
%% --------------------------------
% Remove this section for final version!
\newenvironment{deprecated}
{\begin{color}{gray}}
{\end{color}}
%% --------------------------------
%% | Settings for word separation |
%% --------------------------------
% Help for separation:
% In german package the following hints are additionally available:
% "- = Additional separation
% "| = Suppress ligation and possible separation (e.g. Schaf"|fell)
% "~ = Hyphenation without separation (e.g. bergauf und "~ab)
% "= = Hyphenation with separation before and after
% "" = Separation without a hyphenation (e.g. und/""oder)
% Describe separation hints here:
\hyphenation{
% Pro-to-koll-in-stan-zen
% Ma-na-ge-ment Netz-werk-ele-men-ten
% Netz-werk Netz-werk-re-ser-vie-rung
% Netz-werk-adap-ter Fein-ju-stier-ung
% Da-ten-strom-spe-zi-fi-ka-tion Pa-ket-rumpf
% Kon-troll-in-stanz
}
%% ------------------------
%% | Including files |
%% ------------------------
% Only files listed here will be included!
% Userful command for partially translating the document (for bug-fixing e.g.)
%%\includeonly{%
%%chapter1,
%%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Here, main documents begins %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% Remove the following line for German text
\selectlanguage{ngerman}
%\selectlanguage{english}
\frontmatter
\pagenumbering{roman}
\include{titlepage}
\blankpage
\include{abstract}
%% -------------------
%% | Directories |
%% -------------------
\tableofcontents
\blankpage
%% -----------------
%% | Main part |
%% -----------------
\mainmatter
\pagenumbering{arabic}
\include{chapter1}
\include{chapter2}
%% ----------------
%% | Appendix |
%% ----------------
\cleardoublepage
%% --------------------
%% | Bibliography |
%% --------------------
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\bibname}
\iflanguage{english}
{\bibliographystyle{IEEEtranSA}} % english style
{\bibliographystyle{babalpha-fl}} % german style
% Use IEEEtran for numeric references
%\bibliographystyle{IEEEtranSA}
\bibliography{thesis}
\cleardoublepage
\include{declaration}
\end{document}
%% LaTeX2e class for diploma theses
%% Based on wissdoc.cls by Roland Bless, 1996-2001
%% bless@telematik.informatik.uni-karlsruhe.de
%%
%% Adapted by: Timo Rohrberg, 2009
%% timo.rohrberg@student.kit.edu
%%
%% Additions by: Thorsten Haberecht, IPD - Chair Prof. Bhm, 2010
%% thorsten.haberecht@kit.edu
\NeedsTeXFormat{LaTeX2e} % We do need LaTeX2e
\ProvidesClass{thesisclass}
\LoadClass[a4paper,11pt,titlepage]{scrbook} % Class based on scrbook
\RequirePackage{ngerman} % New german orthography
%% -------------------------------
%% | Packages |
%% -------------------------------
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % Input in ISO 8859-1 (Latin1)
\usepackage{ae} % Almost european, virtual T1-Font
\usepackage[pdftex]{graphicx}
\usepackage{vmargin} % Adjust margins in a simple way
\usepackage{fancyhdr} % Define simple headings
\usepackage{subfigure}
\usepackage{url}
\usepackage[absolute,overlay]{textpos}
\usepackage{tikz}
\usepackage[ngerman, english]{babel}
% see http://www.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/algorithm2e.pdf
% for more sophisticated algorithm listings
\usepackage[raiselinks=true,
bookmarks=true,
bookmarksopenlevel=1,
bookmarksopen=true,
bookmarksnumbered=true,
hyperindex=true,
plainpages=false,
pdfpagelabels=true,
pdfborder={0 0 0.5},
colorlinks=false,
linkbordercolor={0 0.61 0.50},
citebordercolor={0 0.61 0.50}]{hyperref} %{0.57 0.74 0.57}
\usepackage[fixlanguage]{babelbib} % sets german style for literature entries
%\selectbiblanguage{ngerman} % for \bibliographystyle{babalpha}
%% --- End of Packages ---
%% -------------------------------
%% | Declarations |
%% -------------------------------
\DeclareGraphicsExtensions{.svg}
%% --- End of Declarations ---
%% -------------------------------
%% | New commands |
%% -------------------------------
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont}
%\renewcommand*{\headfont}{\slshape}
%\newcommand{\captionfont}{}
\newcommand{\chapterheadfont}{}
\newcommand{\blankpage}{
\clearpage{\pagestyle{empty}\cleardoublepage}
}
%% --- End of New Commands ---
%% -------------------------------
%% | Globale Settings |
%% -------------------------------
\setcounter{secnumdepth}{3} % Numbering also for \subsubsections
\setcounter{tocdepth}{3} % Register \subsubsections in content directory
\setpapersize{A4}
\setmarginsrb{3cm}{1cm}{3cm}{1cm}{6mm}{7mm}{5mm}{15mm}
\parindent 0cm % Do not indent beginning of paragraph
\parskip1.5ex plus0.5ex minus0.5ex % Margin between paragraphs
%% --- End of global Settings ---
%% -------------------------------
%% | Headings |
%% -------------------------------
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}}
\fancyhf{}
\fancyhead[LE,RO]{{\headfont\thepage}} % Left/right header for even/odd pages
\fancyhead[LO]{\headfont\nouppercase{\rightmark}} % Header for left page (odd)
\fancyhead[RE]{\headfont\nouppercase{\leftmark}} % Header for right page (even)
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{plain}{%
\fancyhf{} % No Header and Footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[C]{\thepage}
}
%% --- End of Headings ---
%% -------------------------------
%% | Style of captions |
%% -------------------------------
\renewcommand{\chaptername}{}
\renewcommand{\section}{%
\@startsection{section}%
{1} % Structure level
{0mm} % Indention
{2ex plus 1ex minus 1ex} % Pre-Margin
{0.5ex plus 0.5ex minus 0.5ex} % Post-Margin
{\chapterheadfont\Large\bfseries} % Style
}
\renewcommand{\subsection}{%
\@startsection{subsection}%
{2} % Structure level
{0mm} % Indention
{1.5ex plus 1ex minus 0.5ex} % Pre-Margin
{0.3ex plus 0.3ex minus 0.3ex} % Post-Margin
{\chapterheadfont\large\bfseries} % Style
}
\renewcommand{\subsubsection}{%
\@startsection{subsubsection}%
{3} % Structure level
{0mm} % Indention
{1.5ex plus 1ex minus 0.5ex} % Pre-Margin
{0.2ex plus 0.2ex minus 0.2ex} % Post-Margin
{\chapterheadfont\normalsize\bfseries} % Style
}
\renewcommand{\paragraph}{%
\@startsection{paragraph}%
{4} % Structure level
{0mm} % Indention
{1.3ex plus 1ex minus 0.3ex} % Pre-Margin
{0.2ex plus 0.2ex minus 0.2ex} % Post-Margin
{\chapterheadfont\normalsize\bfseries} % Style
}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}%
{5} % Structure level
{0mm} % Indention
{1ex plus 1ex minus 0.2ex} % Pre-Margin
{0.1ex plus 0.1ex minus 0.1ex} % Post-Margin
{\chapterheadfont\normalsize\bfseries} % Style
}
%% --- End of captions style ---
%% ---------------------------------
%% | Style of chapter captions |
%% ---------------------------------
\newlength{\chapnolen}
\newlength{\chapparlen}
\newsavebox{\chapno}
\renewcommand{\@makechapterhead}[1]{
\vspace*{0.2\textheight}
\vskip 15\p@
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\savebox{\chapno}{\chapterheadfont\huge\bfseries \thechapter.}
\settowidth{\chapnolen}{\usebox{\chapno}}
\parbox[t]{\chapnolen}{\usebox{\chapno}}\nobreak\leavevmode
\fi
\fi
\interlinepenalty\@MM
\setlength{\chapparlen}{\textwidth}
\addtolength{\chapparlen}{-1.0\chapnolen}
\addtolength{\chapparlen}{-2ex}
\leavevmode\nobreak
\parbox[t]{\chapparlen}{\raggedright\chapterheadfont\huge \bfseries #1\par\nobreak}
\vskip 40\p@
}}
\renewcommand{\@makeschapterhead}[1]{
\vspace*{50\p@}
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\chapterheadfont \huge \bfseries #1\par\nobreak
\vskip 40\p@
}
}
%% --- End of chapter captions style ---
%% ---------------------------------
%% | Style of content directory |
%% ---------------------------------
\let\oldtableofcontents\tableofcontents
\renewcommand{\tableofcontents}{{\pdfbookmark{\contentsname}{\contentsname}\chapterheadfont\oldtableofcontents}}
\let\@olddottedtocline\@dottedtocline
\renewcommand{\@dottedtocline}[5]{\@olddottedtocline{#1}{#2}{#3}{#4}{\chapterheadfont #5}}
%% --- End of content directory style ---
%% ----------------------------------
%% | Style of appendix numbering |
%% ----------------------------------
\renewcommand\appendix{\par
\setcounter{section}{0}%
\setcounter{subsection}{0}%
\setcounter{figure}{0}%
\renewcommand\thesection{\Alph{section}}%
\renewcommand\thefigure{\Alph{section}.\arabic{figure}}
\renewcommand\thetable{\Alph{section}.\arabic{table}}}
%% --- End of appenix numbering style ---
%% **** END OF CLASS ****
%% titlepage.tex
%%
% coordinates for the bg shape on the titlepage
\newcommand{\diameter}{20}
\newcommand{\xone}{-15}
\newcommand{\xtwo}{160}
\newcommand{\yone}{15}
\newcommand{\ytwo}{-253}
\begin{titlepage}
% bg shape
\begin{tikzpicture}[overlay]
\draw[color=gray]
(\xone mm, \yone mm)
-- (\xtwo mm, \yone mm)
arc (90:0:\diameter pt)
-- (\xtwo mm + \diameter pt , \ytwo mm)
-- (\xone mm + \diameter pt , \ytwo mm)
arc (270:180:\diameter pt)
-- (\xone mm, \yone mm);
\end{tikzpicture}
\begin{textblock}{10}[0,0](4,2.5)
\includegraphics[width=.3\textwidth]{logos/KITLogo_RGB.pdf}
\end{textblock}
\changefont{phv}{m}{n} % helvetica
\vspace*{3.5cm}
\begin{center}
\Huge{\mytitle}
\vspace*{2cm}\\
\Large{
\iflanguage{english}{Diploma Thesis of}
{Masterarbeit\\von}
}\\
\vspace*{1cm}
\huge{\myname}\\
\vspace*{1cm}
\Large{
\iflanguage{english}{At the Department of Informatics}
{An der Fakult\"at f\"ur Informatik}
\\
\iflanguage{english}{Fraunhofer IOSB (IAD)}
{ Fraunhofer IOSB (IAD)}
}
\end{center}
\vspace*{1cm}
\Large{
\begin{center}
\begin{tabular}[ht]{l c l}
% Gutachter sind die Professoren, die die Arbeit bewerten.
\iflanguage{english}{Reviewer}{Erstgutachter}: & \hfill & \reviewerone\\
\iflanguage{english}{Second reviewer}{Zweitgutachter}: & \hfill & \reviewertwo\\
\iflanguage{english}{Advisor}{Betreuender Mitarbeiter}: & \hfill & \advisor\\
%\iflanguage{english}{Second advisor}{Zweiter betreuender Mitarbeiter}: & \hfill & \advisortwo\\
% Der zweite betreuende Mitarbeiter kann weggelassen werden.
\end{tabular}
\end{center}
}
\vspace{2cm}
\begin{center}
\large{\iflanguage{english}{Duration}{Bearbeitungszeit}: \timestart \hspace*{0.25cm} -- \hspace*{0.25cm} \timeend}
\end{center}
\begin{textblock}{10}[0,0](4,16.8)
\tiny{
\iflanguage{english}
{KIT -- University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association}
{KIT -- Universit\"at des Landes Baden-W\"urttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft}
}
\end{textblock}
\begin{textblock}{10}[0,0](14,16.75)
\large{
\textbf{www.kit.edu}
}
\end{textblock}
\end{titlepage}
UMaterialInterface* GLTFMeshBuilder::ToUMaterial(tinygltf::Material* Material) UMaterialInterface* GLTFMeshBuilder::ToUMaterial(tinygltf::Material* Material)
{ {
return UMaterial::GetDefaultMaterial(MD_Surface); return UMaterial::GetDefaultMaterial(MD_Surface);
} }
\ No newline at end of file
new(StaticMesh->SourceModels) FStaticMeshSourceModel();
und Source Models ist: TArray<FStaticMeshSourceModel> SourceModels;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment