» »

Kako izdelati takšen program, ki bi prikazoval lik na zaslonu?

Kako izdelati takšen program, ki bi prikazoval lik na zaslonu?

Microsoft ::

Zanima me, kako bi recimo lahko izdelal takšen program, da bi na celem zasloni prikazal en lik, recimo trikotnik. Vse pa bi bilo v 2D. Pa da bi ga recimo pognal kar tako, da bi kliknil na ikono, ki bi predstavljala ta program.

Pa bilo bi dobor, da bi se dalo potem z istim programskim jezikom izdelati še kakšne 3D like, ki bi se vrteli, pa da bi lahko določil kak izvor svetlobe. Pa da bi se dalo recimo izdelati noko žogico, ki se odbija od tal in vsakič zgubi nekaj na višini.

Sam to me sedajle ne zanima toiko kot to, s katerim programskim jezikom naj to naredim. A bi to mogoče šlo s C++? ali še obstaja ker tak program, v katerem se podobno programira, kot v C++?

Pa recimo kako to naredijo pri igrah? Kater programski jezik uporabljajo?


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Senitel ::

Hem hja...
95% iger je sprogramiranih v C/C++, vendar se objekti praktično nikoli ne delajo v sami source kodi ampak v namenskih programih ala 3D Studio MAX, Maya,... in se jih potem naloži v pomnilnik iz datoteke (razen če gre za zelo simple objekte - npr. kocke ali pa objekte, ki se jih generira iz kakšne matematične funkcije).
Kako se lotiti risanja enostavnega trikotnika? Ja, najprej je treba vsaj malo znat programirat (ni velik veze kaj, sam ne glih PHP, ASP, SQL, Python itd.)...

Person ::

Za 3D grafiko v programih in igra se v večini primerov uporabi knjižnica DX ali OpenGL.
Ni preveč težko. (osnovne stvari mislim)

Aja, OpenGL se piše v C++ju. DX 9.0 pa v C++ in tudi v C#, VB .NET (ta dva sta managed)
Let's make something useful!

Zgodovina sprememb…

  • spremenil: Person ()

Microsoft ::

Se pravi, da se da potem z C++ kar veliko uporabnih stvari narediti. Fajn to.

Glede tistega, da se večji in bolj kompleksni objekti izdelajo s pomočjo 3D Studio MAX, Maya me zanima, kako se potem tam opiše objekt. Namreč ni mi jasno, kako izdelati objekt kot je formula ali pa kakšen avto.

Se pravi, da potem ko je nek objek naret, se ga nekam shrani. Potem pa v C++ poveš, da naj nekako vključi ta objekt al kako?

Drgače pa recimo za primer igre Vietcong. Sploh mi ni jasno, kako narediti eno tako razgibano pokrajino s toliko enimi drevesi, grmovji in drugimi stvari. Kako in na kakšen način računalniku "dopovedati", kaj hočeš?

Pri C++ me še nekaj zanima. Kako potem shraniš program, ki ga napišeš? A ga enostavno shraniš in ko klokneš na ikon, se stvar izvede? Rad pa bi, da ko klikneš na ikono, da bi se ojavil tisti lik, ki ga opišeš v programu.


by Miha

p.s.: Naročil sem knjigo C++ na kolenih. Kaka se vam kaj zdi ta knjiga?
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Person ::

sem napisal kr dolg odgovor, pa je šel v 3 pm, ker je strežnik neka zaje*al, grrrrrrrrr;(
zdej se mi pa ne da pisat, pol bol, če ne bo kdo drug prej odgovoril.
Let's make something useful!

Microsoft ::

OK, bom počakak.:)


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Person ::

Pač 3D grafika v igrah je sestavljena iz trikotnikov.
Ti sam določiš 3D koordinate vseh 3 oglišč trikotnika in teksturo. Za ostalo pa poskrbi grafična knjižnica in grafična kartica.

3D modeli pa so sestavljeni iz velikega števila teksturiranih trikotnikov.
V datoteki pa so shranjeni podatki o lokaciji trikotnikov in teksture.

To je osnovna razlaga, več se mi ne da zdej.:))
Let's make something useful!

Microsoft ::

Recimo, da potem želiš narisati kroglo. Kako potem določiš pozicije in oblike trikotnikov, ki bodo sestavljali to kroglo?


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Person ::

Hm, poglej nogometno žogo, pa boš opazil, da je sestavljena iz n-kotnikov.
Vsak n-kotnik pa lahko razdeliš na m trikotnikov:)
Edina razlika je, da trikotniki v 3D igri so ravni in niso opognjeni kot pri žogi.
In iz tega lahko ugotoviš:
Večje je število trikotnikov, podrobnejši bo 3D model žoge.

PS: A imaš ti širokopasovni dostop do interneta?
Let's make something useful!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako preprosto prikazati 3D objekt, za katerega imaš podane vse trikotnike z koordina

Oddelek: Programiranje
61896 (1690) RiNC
»

presek poligonov v opengl?

Oddelek: Programiranje
121275 (1075) Red_Mamba
»

Kaj potrebuješ za igro?

Oddelek: Programiranje
151230 (1000) cyer^3d
»

Moj novi engine ... preview

Oddelek: Zvok in slika
352403 (1438) TBR
»

poligon

Oddelek: Programiranje
201879 (1581) Thomas

Več podobnih tem