387 lines
24 KiB
HTML
387 lines
24 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Platform játék: camera.h fájlreferencia</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Platform játék
|
|
</div>
|
|
<div id="projectbrief">3D-s megjelenítés, véletlenszerű pályagenerálás, jutalmazó játékélmény</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Készítette Doxygen 1.8.13 -->
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',false,false,'search.php','Keresés');
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){initNavTree('camera_8h.html','');});
|
|
</script>
|
|
<div id="doc-content">
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#define-members">Makródefiníciók</a> |
|
|
<a href="#func-members">Függvények</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">camera.h fájlreferencia</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><code>#include "<a class="el" href="global_8h_source.html">global.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="floaters_8h_source.html">floaters.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="player_8h_source.html">player.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="map_8h_source.html">map.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="particles_8h_source.html">particles.h</a>"</code><br />
|
|
</div>
|
|
<p><a href="camera_8h_source.html">Ugrás a fájl forráskódjához.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Makródefiníciók</h2></td></tr>
|
|
<tr class="memitem:a4ed283a97ecafbfc810ce43bf2df0203"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a4ed283a97ecafbfc810ce43bf2df0203">cameraDeltaZDistanceStart</a>   25</td></tr>
|
|
<tr class="separator:a4ed283a97ecafbfc810ce43bf2df0203"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9fb8b91b5ad2da975d8398b6e35557c4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a9fb8b91b5ad2da975d8398b6e35557c4">cameraDeltaZDistanceEnd</a>   14</td></tr>
|
|
<tr class="separator:a9fb8b91b5ad2da975d8398b6e35557c4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7174e251fe2949ba08b64ea3069c94a0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a7174e251fe2949ba08b64ea3069c94a0">cameraDollyTime</a>   3250</td></tr>
|
|
<tr class="separator:a7174e251fe2949ba08b64ea3069c94a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Függvények</h2></td></tr>
|
|
<tr class="memitem:a7e4904780625abef9ddd2481657e3d50"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a7e4904780625abef9ddd2481657e3d50">freeRenderMap</a> ()</td></tr>
|
|
<tr class="memdesc:a7e4904780625abef9ddd2481657e3d50"><td class="mdescLeft"> </td><td class="mdescRight">A feldarabolós rajzoláshoz szükséges mátrixot szabadítja fel. <a href="#a7e4904780625abef9ddd2481657e3d50">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a7e4904780625abef9ddd2481657e3d50"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a15b05a44c3fabf37c06114ab1c0d6f7e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a15b05a44c3fabf37c06114ab1c0d6f7e">followPlayerWithCamera</a> ()</td></tr>
|
|
<tr class="memdesc:a15b05a44c3fabf37c06114ab1c0d6f7e"><td class="mdescLeft"> </td><td class="mdescRight">A játékost követi a kamerával, nem hagyja, hogy a pálya alá lásson. <a href="#a15b05a44c3fabf37c06114ab1c0d6f7e">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a15b05a44c3fabf37c06114ab1c0d6f7e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a555b8a2e0ebe839d7fc6ebe6a7244741"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a555b8a2e0ebe839d7fc6ebe6a7244741">menuCamera</a> (int *<a class="el" href="camera_8h.html#a6e9094a53fd8a44ad7a061abae461e5c">getColumns</a>, int *getRows)</td></tr>
|
|
<tr class="memdesc:a555b8a2e0ebe839d7fc6ebe6a7244741"><td class="mdescLeft"> </td><td class="mdescRight">A menüben használt kamerát állítja be, visszaadja a columns-t és rows-t is. <a href="#a555b8a2e0ebe839d7fc6ebe6a7244741">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a555b8a2e0ebe839d7fc6ebe6a7244741"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6e9094a53fd8a44ad7a061abae461e5c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a6e9094a53fd8a44ad7a061abae461e5c">getColumns</a> ()</td></tr>
|
|
<tr class="memdesc:a6e9094a53fd8a44ad7a061abae461e5c"><td class="mdescLeft"> </td><td class="mdescRight">Visszaadja, hogy hány oszlop látszik a pályából. <a href="#a6e9094a53fd8a44ad7a061abae461e5c">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a6e9094a53fd8a44ad7a061abae461e5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad795e49999debbd7478208f79cd428a9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#ad795e49999debbd7478208f79cd428a9">cameraDollyZ</a> (int deltaTime, bool restart)</td></tr>
|
|
<tr class="memdesc:ad795e49999debbd7478208f79cd428a9"><td class="mdescLeft"> </td><td class="mdescRight">A kamera dollyzását végzi, a kamerát mozgatja A dolly állását staticban tárolja, ezért új dolly eseteén először egy restart = true-val kell meghívni,. <a href="#ad795e49999debbd7478208f79cd428a9">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:ad795e49999debbd7478208f79cd428a9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a132a011d37f693d827707dc368fd82c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="global_8h.html#structint_vector2_d">intVector2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a132a011d37f693d827707dc368fd82c1">get2DPoint</a> (<a class="el" href="global_8h.html#structvector3_d">vector3D</a> point)</td></tr>
|
|
<tr class="memdesc:a132a011d37f693d827707dc368fd82c1"><td class="mdescLeft"> </td><td class="mdescRight">Térbeli pontból síkbelit képez. A 3D-s pont koordinátái és a kamera alapján kiszámolja, hogy a kamera 2D-s szenzorán hol jelenik meg a pont. Geometriailag leírva, a két ponton (point, cameraPosition) átmenő egyenes egyenletének, és a 'szenzor' vízszintesének metszéspontja a keresett pontunk. A lent és a linken is látható egyenletet először a tér x-z, majd az y-z vetületére alkalmazzuk, és megkapjuk a térbeli pontunk megfelelő síkbeli leképezést. Ez interaktívan ábrázolva így néz ki: <a href="https://www.desmos.com/calculator/8qjvkptjmn">https://www.desmos.com/calculator/8qjvkptjmn</a>. <a href="#a132a011d37f693d827707dc368fd82c1">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a132a011d37f693d827707dc368fd82c1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a15750abcbd26bd6ea8e5c0da6c3d9a9f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a15750abcbd26bd6ea8e5c0da6c3d9a9f">drawCuboid</a> (<a class="el" href="global_8h.html#structrender_object">renderObject</a> object, bool sides[])</td></tr>
|
|
<tr class="memdesc:a15750abcbd26bd6ea8e5c0da6c3d9a9f"><td class="mdescLeft"> </td><td class="mdescRight">Lerajzol egy téglatestet A kamera modul lényege, a rajzolást végzi el az eddigi függvények segítségével. <a href="#a15750abcbd26bd6ea8e5c0da6c3d9a9f">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a15750abcbd26bd6ea8e5c0da6c3d9a9f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a97d21cae0963069e12a1db25c14449f4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="camera_8h.html#a97d21cae0963069e12a1db25c14449f4">drawMap</a> (int deltaTime)</td></tr>
|
|
<tr class="memdesc:a97d21cae0963069e12a1db25c14449f4"><td class="mdescLeft"> </td><td class="mdescRight">Lerajzolja a teljes látható játékteret. A megfelelő rajzoláshoz figyelni kell a testek takarására, nem mindegy ezért, hogy milyen sorrendben rajzoljuk őket. A részecskéknél ezzel nincs probléma, azokat bármilyen sorrendben rajzolhatjuk. Ők a játékteret kitakarják, egymásnál viszont nem látszik, hogy melyik takrja melyiket, ezért azokat elég a játéktér után bármilyen sorrendben lerajzolni. A térképet alkotó kockáknál már nem ilyen egyszeű a helyzet. Azokat 4 irányból kell rajzolni, bal lentről, jobb lentről, bal fentről, illetve jobb fentről középre. Ha ebben a négy lépésben rajzoljuk őket (ezek között a sorrend nem számít) akkor mindig a legfesőket rajzoljuk utoljára, és így valósnak néz ki az eredmény. A játékos, a lövedékek, illetve az ellenségek viszont sajnos nincsenek egy négyzethálóhoz kötve. Így gyakran megesik, hogy az egyik felüket a pálya egyik kockája előtt, a másikat pedig az után, de még a kövektező előtt kéne rajzolni. Ezt nem tudjuk megcsinálni, hatalmas erőforrásba kerülne ez a majdnem pixelről pixelre történő szkennelés. A pályát továbbra is m^3-ént szeretnénk lerajzolni. Hogy ez megfelelően nézzen ki, minden köbméterben csak az abban a kockában lévő dolgokat szeretnénk megrajzolni. Ehhez fel kell "darabolnunk" a játékost, a lövedékeket, illetve az ellenségeket is. A darabolás azt jelenti, hogy egy mátrix minden cellájába beírjuk, hogy az adott kockában melyik, milyen tulajdonsággal rendelkező testek lógnak be. Rajzolásnál pedig a testeknek mindig csak az adott kockabeli részét rajzoljuk le. Mivel a kockákat jó sorrendben rajzoljuk, így a bennük levő "testekrészeket" is jó sorrendbe fogjuk rajzolni. A problémát megoldottuk. <a href="#a97d21cae0963069e12a1db25c14449f4">Részletek...</a><br /></td></tr>
|
|
<tr class="separator:a97d21cae0963069e12a1db25c14449f4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Makródefiníciók dokumentációja</h2>
|
|
<a id="a9fb8b91b5ad2da975d8398b6e35557c4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9fb8b91b5ad2da975d8398b6e35557c4">◆ </a></span>cameraDeltaZDistanceEnd</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define cameraDeltaZDistanceEnd   14</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>dolly end táv [m] </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4ed283a97ecafbfc810ce43bf2df0203"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4ed283a97ecafbfc810ce43bf2df0203">◆ </a></span>cameraDeltaZDistanceStart</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define cameraDeltaZDistanceStart   25</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>dolly start táv [m] </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7174e251fe2949ba08b64ea3069c94a0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7174e251fe2949ba08b64ea3069c94a0">◆ </a></span>cameraDollyTime</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define cameraDollyTime   3250</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>[ms] </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Függvények dokumentációja</h2>
|
|
<a id="ad795e49999debbd7478208f79cd428a9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad795e49999debbd7478208f79cd428a9">◆ </a></span>cameraDollyZ()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool cameraDollyZ </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>deltaTime</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>restart</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A kamera dollyzását végzi, a kamerát mozgatja A dolly állását staticban tárolja, ezért új dolly eseteén először egy restart = true-val kell meghívni,. </p>
|
|
<dl class="params"><dt>Paraméterek</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ms</td><td>eltelt idő </td></tr>
|
|
<tr><td class="paramname">kell-e</td><td>újrakezdés? </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Visszatérési érték</dt><dd>elérte-e a végállást? Minden frameban újraszámolja a rows&coulmns-t, </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a15750abcbd26bd6ea8e5c0da6c3d9a9f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15750abcbd26bd6ea8e5c0da6c3d9a9f">◆ </a></span>drawCuboid()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void drawCuboid </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="global_8h.html#structrender_object">renderObject</a> </td>
|
|
<td class="paramname"><em>object</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>sides</em>[] </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Lerajzol egy téglatestet A kamera modul lényege, a rajzolást végzi el az eddigi függvények segítségével. </p>
|
|
<dl class="params"><dt>Paraméterek</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">test</td><td>téglatest adatai </td></tr>
|
|
<tr><td class="paramname">bool</td><td>melyik oldalakat kell rajzolni? Végez egy plusz ellenőrést is, nem csak a paraméterben megadott tömb alapján nem rajzol oldalakat, azokat se rajzolja le, amiket a helyzetük miatt biztosan nem láthat a kamera. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a97d21cae0963069e12a1db25c14449f4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a97d21cae0963069e12a1db25c14449f4">◆ </a></span>drawMap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void drawMap </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>deltaTime</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Lerajzolja a teljes látható játékteret. A megfelelő rajzoláshoz figyelni kell a testek takarására, nem mindegy ezért, hogy milyen sorrendben rajzoljuk őket. A részecskéknél ezzel nincs probléma, azokat bármilyen sorrendben rajzolhatjuk. Ők a játékteret kitakarják, egymásnál viszont nem látszik, hogy melyik takrja melyiket, ezért azokat elég a játéktér után bármilyen sorrendben lerajzolni. A térképet alkotó kockáknál már nem ilyen egyszeű a helyzet. Azokat 4 irányból kell rajzolni, bal lentről, jobb lentről, bal fentről, illetve jobb fentről középre. Ha ebben a négy lépésben rajzoljuk őket (ezek között a sorrend nem számít) akkor mindig a legfesőket rajzoljuk utoljára, és így valósnak néz ki az eredmény. A játékos, a lövedékek, illetve az ellenségek viszont sajnos nincsenek egy négyzethálóhoz kötve. Így gyakran megesik, hogy az egyik felüket a pálya egyik kockája előtt, a másikat pedig az után, de még a kövektező előtt kéne rajzolni. Ezt nem tudjuk megcsinálni, hatalmas erőforrásba kerülne ez a majdnem pixelről pixelre történő szkennelés. A pályát továbbra is m^3-ént szeretnénk lerajzolni. Hogy ez megfelelően nézzen ki, minden köbméterben csak az abban a kockában lévő dolgokat szeretnénk megrajzolni. Ehhez fel kell "darabolnunk" a játékost, a lövedékeket, illetve az ellenségeket is. A darabolás azt jelenti, hogy egy mátrix minden cellájába beírjuk, hogy az adott kockában melyik, milyen tulajdonsággal rendelkező testek lógnak be. Rajzolásnál pedig a testeknek mindig csak az adott kockabeli részét rajzoljuk le. Mivel a kockákat jó sorrendben rajzoljuk, így a bennük levő "testekrészeket" is jó sorrendbe fogjuk rajzolni. A problémát megoldottuk. </p>
|
|
<dl class="params"><dt>Paraméterek</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ms</td><td>eltelt idő Ez a függvény elvégzi a részecskék, a pálya, illetve minden más test rajzolását is. A részecskék mozgatása innen van meghívva. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a15b05a44c3fabf37c06114ab1c0d6f7e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15b05a44c3fabf37c06114ab1c0d6f7e">◆ </a></span>followPlayerWithCamera()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void followPlayerWithCamera </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A játékost követi a kamerával, nem hagyja, hogy a pálya alá lásson. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7e4904780625abef9ddd2481657e3d50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7e4904780625abef9ddd2481657e3d50">◆ </a></span>freeRenderMap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void freeRenderMap </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A feldarabolós rajzoláshoz szükséges mátrixot szabadítja fel. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a132a011d37f693d827707dc368fd82c1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a132a011d37f693d827707dc368fd82c1">◆ </a></span>get2DPoint()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="global_8h.html#structint_vector2_d">intVector2D</a> get2DPoint </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="global_8h.html#structvector3_d">vector3D</a> </td>
|
|
<td class="paramname"><em>point</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Térbeli pontból síkbelit képez. A 3D-s pont koordinátái és a kamera alapján kiszámolja, hogy a kamera 2D-s szenzorán hol jelenik meg a pont. Geometriailag leírva, a két ponton (point, cameraPosition) átmenő egyenes egyenletének, és a 'szenzor' vízszintesének metszéspontja a keresett pontunk. A lent és a linken is látható egyenletet először a tér x-z, majd az y-z vetületére alkalmazzuk, és megkapjuk a térbeli pontunk megfelelő síkbeli leképezést. Ez interaktívan ábrázolva így néz ki: <a href="https://www.desmos.com/calculator/8qjvkptjmn">https://www.desmos.com/calculator/8qjvkptjmn</a>. </p>
|
|
<dl class="params"><dt>Paraméterek</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">Térvektor</td><td>típusú pont </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Visszatérési érték</dt><dd>Síkvektor típusú pont A visszaadott pontnak int koordinátái vannak, hiszen valamelyik pixel koordinátáit jelöli. Ez a függvény igazából egy camera obscura modellje. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6e9094a53fd8a44ad7a061abae461e5c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6e9094a53fd8a44ad7a061abae461e5c">◆ </a></span>getColumns()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int getColumns </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Visszaadja, hogy hány oszlop látszik a pályából. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a555b8a2e0ebe839d7fc6ebe6a7244741"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a555b8a2e0ebe839d7fc6ebe6a7244741">◆ </a></span>menuCamera()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void menuCamera </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"><em>getColumns</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"><em>getRows</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A menüben használt kamerát állítja be, visszaadja a columns-t és rows-t is. </p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_e05d7e2b1ecd646af5bb94391405f3b5.html">modules</a></li><li class="navelem"><a class="el" href="camera_8h.html">camera.h</a></li>
|
|
<li class="footer">Projekt: Platform játék Készült: Sun Dec 3 2017 21:11:22 Készítette:
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|