|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Jan 21, 2009 9:30 am Post subject: Divi jautājumi par DirectX |
|
Salikšu te divus jautājumus par DirectX.
1. Kādu plug-inu jūs izmantojat, lai eksportētu uz DirectX formātu *.X?
Pats izmantoju Panda priekš 3ds Max.
Neapmierina dažas lietas. Nezinu, vai tās ir eksportētāja-plugina vaina, bet:
Tekstūras kooridinātes ir nepareizas! Vai nu tas neatbalsta UV mapping, vai kas. Oriģinālie modeļi nāk ar pareizu UV mapping - tiem nav nekādu problēmu.
Protams, pastāv vēl daži varianti kā dabūt *.X faila formātu. Bet, ja jums strādā, tad padalieties ar info.
----------------------------------------------
2. Kā pareizi izveidot vairākus *.X failus vienā scēnā?
It kā jau tur ir parādīts kā un ievilkt tiešām sanāk, bet parādās kļūda.
Domājams, ka jums šī device counter problēma ir zināma.
Uz otro jautājumu nepastāvu, par to nav vērts piesieties.
Ja nu vienīgi kādam atmiņas plauktos ir kas līdzīgs noglabājies: kāda ideja, virziens kurā risināt problēmu. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Jan 21, 2009 9:44 am Post subject: Re: Divi jautājumi par DirectX |
|
EDDY wrote: | 2. Kā pareizi izveidot vairākus *.X failus vienā scēnā? |
Imho gluži tāpat kā 2 tekstūras, vai 2 buferus, vai jebko citu divus.
Ielādē katru failu jaunā objekta instancē un lieto laimīgs.
Un ja tu dabū kļūdas, tad labais tonis iesaka tās konkrēti uzrādīt, vēlams ar visu koda fragmentu, kas to rada. Citādi kārtējo reizi jāķeras pie kristāla bumbas zīlēšanas. Ja rakstīsi nepilnīgus jautājumus, dabūsi atpakaļ tikpat nepilnīgas atbildes. http://www.catb.org/~esr/faqs/smart-questions.html |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Jan 21, 2009 10:35 am Post subject: |
|
Tur jau tā lieta, ka tās instances ļoti atšķirās DirectX no vispārpieņemtā.
Rādīt tad jau rāda to objektu, bet ēnas nav (runa iet par Shadows Volume piemēru no DirectX SDK), jo:
katrs objekts tur ēnai tiek piesaistīts ar to pašu instanci.
Tātad, ja man ir DIRECTXMESH * p_mesh, tad tas p_mesh tiek piemērots katru reizi jaunam objektam. Un te arī ir tā atšķirība.
OK, ideju parādiju. Kamēr jūs domājat, rīt ielikšu kļūdas paziņojuma bildi un parādīšu kodu, kā es veicu šīs te klonēšanas.
-------------
Man vajag tieši DirectX formātu "X".
Pateikšu kāpēc:
Ir ideja radīt vienotu grafisko vidi. Nav nekā labāka te par DirectX SDK, jo OpenGL piemēri ir ļoti kašķīgi un ATi Radeon piemēri lielākoties neies uz GeForce kartēm un otrādi.
Man pat neiet šis http://indago.gamez.lv/Izstradataji/Raksti/GLSL_Shadows/ShadowMaps.htm piemērs vairāk. Vai nu Ati draiveros izņēmuši rendertārgetu, bet nekādas ēnas neredzu un joprojām jāizmanto 8 bit, nevis 16 bit priekš tekstūras. Turklāt ir nevar šo piemēru nokompilēt. Nepazīst vairs tādus primātus kā HMONITOR, lai gan ir taču pievienoti visi header faili un visas includes un bibliotēkas savā vietā. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Jan 21, 2009 12:10 pm Post subject: |
|
Quote: | katrs objekts tur ēnai tiek piesaistīts ar to pašu instanci.
Tātad, ja man ir DIRECTXMESH * p_mesh, tad tas p_mesh tiek piemērots katru reizi jaunam objektam. |
Ja godīgi, tad nesapratu ko tu te uzrakstīji.
EDDY wrote: | jo OpenGL piemēri ir ļoti kašķīgi un ATi Radeon piemēri lielākoties neies uz GeForce kartēm un otrādi. |
Tāpēc jau tie ir piemēri - tie demonstrē konkrētu tehnoloģiju, ar konkrētas tehnoloģijas iespējām (radeona fīčām). Neviens to tev neliec taisīt tā, lai tas iet uz abām kartēm. Kāpēc ta Doom 3 iet gan uz radeoniem un uz Geforciem vienādi?
Pat skvēri +/- sakarīgi strādā ar visām ēnām uz nvidia/ati + win/linux/macosx (ar jaunākajām videokartēm gan šķiet ir problēmas - slikti kautkā bijām notestējuši, un tolaik nebija SM4-klases kartes īsti).
Es pat nesen uzrakstot deferred šeidingu ar OGL (kas ir vairākas kārtas sarežģītāks un izmanto pamatīgi sarežģītākas lietas par parastām shadow-mapēm) ar pirmo reizi viss aizgāja gan uz nvidia, gan ati kartēm. Tā ka - mācies RTFM un viss būs ok :)
Tas uzreiz nenozīmē, ka uz ati un geforce nevar uztaisīt lai rāda vienādi. Sliktu kodu vienmēr var uzraksīt neskatoties ne uz kādiem ogl, dx, ati vai nvidijām. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Jan 21, 2009 12:44 pm Post subject: |
|
Turpināsim sarunu rīt, kad būs pieejams izejas kods tam piemēram. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Jan 21, 2009 1:29 pm Post subject: |
|
par exporteriem
1) panda
2) dx sdk kaadreiz bija iekshaa ms veidots maxa exporteris. tad uz kaadu briidi iznjeema un taga man liekaas atkal ir atpakalj.
3) Deep Exploration - saprot maxi un x un veel ntos grafiskos formaatus. konvertee uz visaam puseem. maksas softs gan. kaa protams arii pats maxis. _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Jan 21, 2009 1:33 pm Post subject: |
|
Paldies.
Es gan izstaigāju visas jaunā DirectX SDK mapes, bet neatradu neko saistītu ar 3ds Max ...
Nu, Deep Exploration ir 30 dienu trials, tā kā nekāda bēda.
--------
Tev ar pandu tekstūru koordinātes uzliekas pareizi? Lietoju 2009. gada versiju maxim. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Jan 21, 2009 2:42 pm Post subject: |
|
ar textuuraam nav bijushas probleemas.
probleemas bija ar to ka sashkjiebjaas modelis hvz perkee. bet to itkaa ar reset tranformations dabuuju nost.
man ieksh october 06' ( ) staav Code: | Microsoft DirectX SDK (October 2006)\Utilities\Source\Max |
bet skatos aug 08 neir - tad jau moka nav atlikushi apakalj. var meegjinaat no vecaa izvilkt un skatiities kas par saapi.
Quote: | http://msdn.microsoft.com/en-us/library/bb219732(VS.85).aspx
The DirectX SDK for April 2007 was the last SDK to ship with this extension. |
_________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Jan 23, 2009 8:33 am Post subject: |
|
Nu tā, vakar mazliet padomāju un pats atbildēju uz saviem jautājumiem.
Rekur testa bilde:
, kurā redzams humānveidīgais mesh kā 1. objekts, bet viss pārējais ir 2. objekts.
Izrādās, nepietika tikai ar shadows piešķiršanu, vajadzēja arī iedot shadows deklarāciju un otro ēnas mesh.
Pēc idejas šis piemērs izveido mesh kā ēnu, tāpēc ēnas ir ļoti precīzas. Vismaz man nebija nekādu artefaktu un gļūku. Arī fps ir virsotnē.
Tagad tik jāapgūst animācijas veidošana tam X formātam. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Jan 23, 2009 10:33 am Post subject: |
|
Par ko tu tur runā? Es goda vārds nesaprotu.
Ja ēnas renderē ar stencil volume metodi, tad kāds sakars, kas viens un kas otrs objekts?
Katru shadow casteri renderējot tev jarenderē papildus trijstūri - shadow volume. Un šos trijstūrus iegūst speciāli tos uzkonstruējot no shadow castera un gaismas pozīcijas. Parasti tas izskatās šādi:
Code: | function renderScene()
{
renderAllEntitiesWithAmbientColor();
foreach (light in allLights)
{
foreach (entity in allEntities)
{
if (entity.canCastShadow)
{
renderShadowVolume(light, entity);
}
}
}
renderAllEntitiesWithLitColor();
} |
Lasi teoriju un praktiska piemēra detaļas sīkāk, piemēram, šajos dokumentos:
Practical and Robust Shadow Volumes
Practical And Robust Stencil Shadow Volumes for Hardware-Accelerated Rendering
Imho ļoti sakarīgi un detailzēti dokuments. Un tas po, ka OpenGL, ekvivalentas lietas var implementēt arī ar Direct3D. Shadow Volume teorija ir teorija pati par sevi neatkarīgi no izmantotā API. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Jan 23, 2009 11:14 am Post subject: |
|
Runa bija par instances veidošanu, ka nevar tik viegli pielikt * un cerēt, ka noklonēsies.
Paldies par info, palasīšu. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Jan 23, 2009 12:04 pm Post subject: |
|
Par kādu instances veidošanu? Kas par reizināšanas * klonēšanu? Lūdzu runā pieņemtākos programmēšanas/geimdeva terminos, nesāc kā dažs labs izdomāt savus terminus. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Jan 23, 2009 12:26 pm Post subject: |
|
Tas nav manis izdomāts.
Piemērs:
Code: | DIRECTXMESH * p_Mesh; //rada pirmo objektu
DIRECTXMESH * p_otrs_mesh; // rada otro objektu
|
Protams, var rakstīt arī šādi:
Code: | DIRECTXMESH * p_Mesh[5]; |
Ceru, ka palika skaidrāk?!? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Jan 23, 2009 12:29 pm Post subject: |
|
Nu a kur ir problēma?
Code: | D3DXLoadMeshFromX(T("Mesh1.X"), ..., &p_Mesh);
D3DXLoadMeshFromX(T("Mesh2.X"), ..., &p_otrs_mesh); |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|