Hi!
On Wed, 8 Jan 2003, HIX CODER wrote:
> Temakor: 3D World programozas ( 15 sor )
>
> 3D World megjelenitesevel kapcsolatban. Szerintem eleg jo tema.
> Pl. egy Unreal vagy TR palya, amely ugy osszessegeben all vagy
> 30-40 ezer vertexbol illetve face-bol. Ennek kirajzolasa jo kis moka.
Messze jartal a megoldastol. De az elozo valoszolo mar jol megkozelitette
a dolgot. Tehat egy naiv algoritmus is valahogy ugy menne, hogy a vilagbol
kihasitanad azokat a vertexeket, amik a te lato csonkaguladban benne
vannak. Ezt nevezzuk vagasi feladatnak. De ezek kozul sem kell mindegyiket
kirajzolni, mert takarhatjak egymast. Ezt oldja meg a takarasi feladat.
A nagy kerdes az, hogy hogyan tudod mindezt hatekonyan megtenni (es az
FPS engine-eknek ez az egyik fo jellemzoje). Kerdes, hogy milyen
adatstrukturaban taroljuk az objektumokat/face-eket/vertexeket, illetve
ebbol milyen eljarasokkal dolgozzunk. Ilyen temaju irodalom sok modszert
emlit, pl. octree. Egyre tobb regi FPS jatek engine forraskodja
letoltheto, erdemes megnezni oket. Az uttoronek mondhato modszer a BSP
adatszerkezet, es ehhez kapcsolodo algoritmusok. Ezt hasznalja a Quake I
es Quake II is, melyeknek forraskodja letoltheto, en ezeket neztem.
Elotte lehet, hogy erdemes megnezni valamilyen irodalmat, hogy ne erezd
ugy magad, mint Alice csodaorszagban.
Splash screen:
Egy dialogot olyan Wndclass flag-ekkel hozz letre, hogy nincs caption-je,
es az egesz dialog terulet a tied. A dialogra rakj egy teljes teruletet
lefedo itemet, amibe tolts be a keped. A dialogot mutithread-esen hozd
fel, vagy idozitve, vagy pedig az init feladatok vegeztevel zard be te
magad.
Szerintem csak regen volt ezeknek igazan nagy divatja (regi M$ termekek,
Adobe termekek), ma mar nem nagyon latni. Nem biztos, hogy erdemes
szorakozni vele, bar gyakorlatnak nem rossz.
Udv.
--
tocsa
---
| email: |
| homepage: http://www.inf.bme.hu/~tocsa |
---
|
> Szerintem (nem nagyon programoztam meg 3D megjelenitest, ez csak egy otlet.)
> nem helyisegekben kell gondolkodni, hanem vertexekben. Eloszor betoltod az
> osszeset, majd haturol haladva egyesevel eldontod, latszik-e az adott
> vertex, vagy sem. Ha nem eldobod, ha igen akkor azt ki kell szamoltatni.
Ja, ezt hívják clippingnek, és a z koordináta alapján működik. De ha jól tudom,
elég egy durva
számolás, hogy mit küldesz ki, mert pl. az OpenGL automatikusan megteszi helyet
ted.
Figyeld meg hogy a 3D játékok többsége még ma is teli van trükkökkel, és egy na
gy map valójában sok kicsire van felosztva. Pl.
Half-life.
OldDirty
BlOg: http://www.bitumen.tk
Personal HP: http://olddirty.fw.hu
|
Ha mindketto szolo rekordjait akarod, akkor igen. Egyebkent nem kell
vegigmenni, eleg egy 'for' alkalmazasa is. Hogy melyik megoldas fut
gyorsabban, azt most hirtelen nem tudom megmondani :-(
Maki
> Felado : [International]
> Ezt "visszafele" is meg kell csinalni, nem? Hogy mindket dbf-bol kiugorjon a
> parnelkuli rekord. vagy eleg a nagyobb rekordszamu dbf-et venni alapkent -
> do while !eof() ?
> ------------------------
> Hídvégi László
> az alábbiakat írta a következő
> hírüzenetben: ...
>>.. A kulcs alapjan osszefuzod oket egy relation-nel, es kiirod
>> azokat a sorokat, ahol a masik adatbazisban a kulcs ures.
|