játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5440
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2519

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2185
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] > 30 < [35] [40] [45] [50] [55]
Kuz - Törzstag | 4455 hsz       Online status #104371   2009.02.12 01:42 GMT+1 óra  
Valaki tud abban segíteni, hogy 2 dimenzióban hogy szokás mozgatni 1 modellt, ha adott a kiindulási, és az érkezési mátrixa? Addig oké, hogy ha a két x és a két y koordináta is különözik, akkor az aktuális mozgási koordináták :

Kód:
x(új) = x(régi) + (x(érkezési) - x(régi)) / (y(érkezési) - y(régi)); //persze attól függően, hogy merre kell menni a +/- illetve a sorrend változik.


De mi van akkor, ha pl a régi és az érkezési x koordináta egyenlő? Akkor hogy alakul az y kiszámítása, hiszen osztani nem lehet (0 vagy inf lenne), de milyen konstans értéket adjak hozzá?

Szerk. : jól gondolom, hogy alapból konstans értéket kell osztogatni, így ha a két x egyenlő, akkor csak magával a konstanssal kell mozgatni?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
xanat - Tag | 489 hsz       Online status #104342   2009.02.11 07:11 GMT+1 óra  
okés, köszi, meg fogom nézni. előbb majd valami saját animkezelős loadert kell írni, mert ami van az vagy lassú, vagy nem úgy működik, ahogy én szeretném
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Kuz - Törzstag | 4455 hsz       Online status #104340   2009.02.11 07:00 GMT+1 óra  
Nincs mit, csak mondom, arra vigyázz, hogy ha debugolod a progit, akkor a lenti példában szereplő mesh.Name valamiért üres string lesz. Ugyanakkor ha simán fut a progi, akkor teljesen jól működik ez a property. Ki érti ezt...?

Szerk.: erre használhatsz pl valami gloális változót, vagy amit épp az adott programod kíván.
Kód:
foreach (ModelMesh mesh in tokmindegy.Meshes)
   {
      foreach (ModelMeshPart meshpart in mesh.MeshParts)
      {
         izé = meshpart.Effect.Parameters["World"].GetValueVector4Array(16);


Na, szóval valami ilyen, de csak tipp. Nem is a meshpartot kell babrálni.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
xanat - Tag | 489 hsz       Online status #104339   2009.02.11 06:54 GMT+1 óra  
Idézet
kuzanth :
Nincs mit, csak mondom, arra vigyázz, hogy ha debugolod a progit, akkor a lenti példában szereplő mesh.Name valamiért üres string lesz. Ugyanakkor ha simán fut a progi, akkor teljesen jól működik ez a property. Ki érti ezt...?



hát igen, azért vannak érdekes dolgok
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
xanat - Tag | 489 hsz       Online status #104337   2009.02.11 06:50 GMT+1 óra  
oké, köszi.
és miután megállapítottam (ugye neve alapján), hogy az a mesh, akkor egy másik Vector3mas változóba hogy mentem ki a pozícióját? lehet, hogy tök trivi, de most nem jövök rá... lehet többet kéne aludni 1-2 óránál
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Kuz - Törzstag | 4455 hsz       Online status #104336   2009.02.11 06:46 GMT+1 óra  
Kód:
foreach (ModelMesh mesh in akarmi.Meshes)
{
   if (mesh.Name == "amit akarsz") { ... }
   ..
}


De megpróbálhatod a Tag-gel is, de az valami Objectet ad vissza, még nem néztem meg igazán. Más megoldást hirtelen nem tudok.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
xanat - Tag | 489 hsz       Online status #104333   2009.02.11 06:31 GMT+1 óra  
tehát a neve alapján a legkönnyebb azonosítani? ha jól tudom van valami id is neki.(?)
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Kuz - Törzstag | 4455 hsz       Online status #104329   2009.02.11 06:12 GMT+1 óra  
Amikor kirajzolod a modellt, lekérdezed a navét annak a mesh darabnak (ha jól tudom ez debug módban üres string, de futás közben nem...), és ha az az, akkor eltárolod a world mátrixának a megfelelő értéket.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
xanat - Tag | 489 hsz       Online status #104327   2009.02.11 06:02 GMT+1 óra  
megint kérdés:
Van egy x fájlom (karakter modell), annak a szem magasságában lenne egy láthatatlan object (de ki lenne exportálva az is). hogy tudom azt megcsinálni, hogy egy float érték annak a láthatatlan objektumnak az y magassága legyen?
úgyértem:
float posY = model.láthatatlanobject.position.Y;
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
sirpalee - Tag | 1282 hsz       Online status #104299   2009.02.10 06:56 GMT+1 óra  
Idézet
Csizmás Kandur :
Relatív. Ennél fényévekkel gyorsabb az XNA. Elrontani nagyon nem tudsz mit rajta, Spritebatch, DrawablGameComponent stb. gyerekjáték. Magasabb szint, kevesebb tévesztési lehetőség, optimális sebesség. Ja, hogy game maker. Ilyen alapon a DX is az a jó kis vektoraival, sprite interfésszel, .x loaderrel, dxut-vel, meg egyebekkel.



Hol van sprite interfész DX-ben? Én nem találtam

Amikkel lehet gazdálkodni (interfészek)
Core: Asynchronous, Blendstate, Commandlist, Counter, DepthStencilState, Device, DeviceChild, DeviceContext, Query, RasterizerState, SamplerSate
Resource : Buffer, DepthStencilView, RenderTargetView, Resource, ShaderresourceView, Texture1D, Texture2D, Texture3D, UnorderedAccessView, View
Shader : ClassInstance, ClassLinkage

Ennyi . Hol látsz te itt sprite-t?

(inkább ide írom )
raytraceisten és übermedic
   
xanat - Tag | 489 hsz       Online status #104288   2009.02.10 05:52 GMT+1 óra  
jó, csak ismétlem önmagam, majd' az egész inputkezelés ugyan az, mint a régebbiben, amiben nem volt 1 fps eltérés se. (amúgy nekem az üres képernyő 800x600-on, teljes képernyőn 2285 fps)
mondom, az egérkezelés ugyan az....
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Csizmás Kandur - Tag | 436 hsz       Online status #104261   2009.02.09 22:31 GMT+1 óra  
xanat: Hú, de régen is volt ez téma, talán tavaly. Az egérkezelés semmit nem vesz le az FPS-ből. Az input amúgy is külön szálon fut. Megint valamit matematikázol fölöslegesen pluszban, ami a kódból nem látszik.
Lassabb a géped,mint az én 10 éves első gépem. Ott valami más gond van.

Szerk.:
Asy: szerk.: télleg annyit? és ezt hogy ábrázolod floaton?

Sehogy, egyszerűen beraktam egérpost-t,forgatást mindent, de egy FPS eltérést,se tudtam kimutatni használat közben.

property az örökzöld: Az új CLR-nek ez a nünükéje, egyenértékű a const-al. Ha lassú, ott valami más kavarás van. Nem kell a fél függvénygyűjteményt becopyzni egy set blokkba mondjuk.

Ezt a hozzászólást Csizmás Kandur módosította (2009.02.09 22:58 GMT+1 óra, ---)
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
sirpalee - Tag | 1282 hsz       Online status #104248   2009.02.09 09:40 GMT+1 óra  
Nem vagy tisztában a fogalmakkal. Nem 1000 fps-t vesz le. Ha nem csinálsz semmit, csak ez megy akkor persze hogy ennyit levesz, de ha már egy komplex scene fut, akkor tényleg szinte 0 fps-t veszel, mivel a cpu műveletek egy jelentéktelen kis részét teszi ki.

Gondolkozz egy kicsit
raytraceisten és übermedic
   
xanat - Tag | 489 hsz       Online status #104247   2009.02.09 09:31 GMT+1 óra  
ezekszerint hagyjam rá, hogy levesz 1000 fps-t a kurzor középre igazítása? lol... akkor majd írok másféle kamerát, ahol nem kell középreigazítani.
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Asylum - Törzstag | 5440 hsz       Online status #104246   2009.02.09 09:18 GMT+1 óra  
az egy dolog, hogy egyszer leméred és pici...a property lekérdezése is egyre nézve baromi pici, ha viszont egy 1024x768-as ciklusban 20 szor meghivod akkor elmehetsz kukoricát pattogtatni mire elemzi azt a nyamvadt képet (ez mosmá örökzöld lesz).
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
xanat - Tag | 489 hsz       Online status #104244   2009.02.09 09:13 GMT+1 óra  
nem feltétlen ennyi volt a 0, csak jelképesen értettem... de valami nagyon kevés, 1nek a közelébe sem volt. most nemértem, hogy miért csinálja ezt... mintha csak debug módban nyomnám
hajrá windows

szerk.:
by Csizmás Kandur és a tesztelője:
"nálam ez a mouse dolog nagyon ultrabrutális fps-t vett le. 0.000000000000000000000000000000000000000000000000012"

Ezt a hozzászólást xanat módosította (2009.02.09 09:18 GMT+1 óra, ---)
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Asylum - Törzstag | 5440 hsz       Online status #104243   2009.02.09 09:08 GMT+1 óra  
pedig az az, ez c++ ban is igyvan de erröl egyik se tehet, a winfos van ilyen szarul megirva, hogy a setmousepos vagy mi a tököm ennyit lassit. Én ezért kerülöm a használatát.

szerk.: télleg annyit? és ezt hogy ábrázolod floaton?
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
xanat - Tag | 489 hsz       Online status #104242   2009.02.09 09:05 GMT+1 óra  
renderelést nem foghatja vissza, ugyanis most mindent kivettem, csak a kamerát hagytam bent. Régen volt ezzel probléma emlékszem, ráadásul akkor bonyolultabb volt a kamera. aztán kandur megnézte, és valami 0.000000000000000002fps-t vesz igénybe az egész művelet, így most ezért nemértem, hogy mi a probléma. :-/
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
sirpalee - Tag | 1282 hsz       Online status #104241   2009.02.09 08:59 GMT+1 óra  
Idézet
xanat :
najo, nekem most lett elegem... ha Csizmás Kandúr majd olvassa ezt a hsz-t ismerős lesz neki.
Elég bugyuta kérdés, de megkérdezem, mert már a fél hajam nincs meg...
nos. van egy kamerám, minden, mozgatom, minden jó, stb...
a nézelődés ennyiből áll. (az elején lekérdezem a szélességet / hosszúságot)
Kód:
mState = Mouse.GetState();
mouseX = mState.X - width;
mouseY = mState.Y - height;
rotX -= mouseY / 500 * mouseSpeed;
rotY -= mouseX / 500 * mouseSpeed;
Mouse.SetPosition(width, height);

komponensként hozzáadom a (fő)game osztályhoz, akkor így ~1000fps...
ha ez a sor:
Kód:
Mouse.SetPosition(width, height);

nincs benne, akkor 2285fps. (annyi, mint kamera komponens nélkül)

Miért van ez??? (külön relase exe-t indítom, teljesképernyőn)



Ezt úgy hívják hogy CPU limitált renderelés. Gyakorlatilag bármilyen új cpu alapú művelet hozzáadása csökkenti az fps számot. Mivel gondolom semmit sem csinálsz, ezért a te esetedben elég radikális a csökkenés.

Egyszerűen annyi hogy a Mouse.SetPosition(width, height) túl sok cpu cycle-t igényel végrehajtáskor, és ez visszafogja az egész renderelést.
raytraceisten és übermedic
   
xanat - Tag | 489 hsz       Online status #104239   2009.02.09 08:39 GMT+1 óra  
najo, nekem most lett elegem... ha Csizmás Kandúr majd olvassa ezt a hsz-t ismerős lesz neki.
Elég bugyuta kérdés, de megkérdezem, mert már a fél hajam nincs meg...
nos. van egy kamerám, minden, mozgatom, minden jó, stb...
a nézelődés ennyiből áll. (az elején lekérdezem a szélességet / hosszúságot)
Kód:
mState = Mouse.GetState();
mouseX = mState.X - width;
mouseY = mState.Y - height;
rotX -= mouseY / 500 * mouseSpeed;
rotY -= mouseX / 500 * mouseSpeed;
Mouse.SetPosition(width, height);

komponensként hozzáadom a (fő)game osztályhoz, akkor így ~1000fps...
ha ez a sor:
Kód:
Mouse.SetPosition(width, height);

nincs benne, akkor 2285fps. (annyi, mint kamera komponens nélkül)

Miért van ez??? (külön relase exe-t indítom, teljesképernyőn)
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
   
Kuz - Törzstag | 4455 hsz       Online status #104233   2009.02.09 05:19 GMT+1 óra  
Nem tudom mennyire alap ez a kérdés, de van egy problémám :
Az egér kurzornak egy saját, alphablendes textúrát használok, és ha így rajzolom ki :

Kód:
VariablesAndOthers.spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
VariablesAndOthers.spriteBatch.Draw(o_tMouseTexture,
   new Rectangle(o_sMouseState.X, o_sMouseState.Y,
   o_tMouseTexture.Width, o_tMouseTexture.Height), Color.White);
VariablesAndOthers.spriteBatch.End();


akkor minden jó. Viszont, ha át akarom méretezni, pl így :

Kód:
VariablesAndOthers.spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
VariablesAndOthers.spriteBatch.Draw(o_tMouseTexture,
   new Rectangle(o_sMouseState.X, o_sMouseState.Y,
   (int)(o_tMouseTexture.Width * 0.5f),
   (int)(o_tMouseTexture.Height * 0.5f)),
   new Rectangle(o_sMouseState.X, o_sMouseState.Y,
   o_tMouseTexture.Width,
   o_tMouseTexture.Height),Color.White);
VariablesAndOthers.spriteBatch.End();


akkor eltűnik a kurzor, helyette pedig
- SpriteBlendMode.None esetén a megadott méretben egy fekete négyszög,
- SpriteBlendMode.AlphaBlend esetén pedig semmi nem
jelenik meg. Én b*ok el valamit?

Szerk. : igazából ide kapcsolódik az is, hogy lehet megkerülni a csak int-es kirajzolást? Vagy a fenti megoldásom az, amit használni kell?

Szerk2. : Ok, én vagyok a fütyi. A destination rectangle-t (x,y, = 0) -tól kell venni, nem a mouse.X, mouse.Y-tól... Bocsika.

Ezt a hozzászólást kuzanth módosította (2009.02.09 05:43 GMT+1 óra, ---)
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Csizmás Kandur - Tag | 436 hsz       Online status #104221   2009.02.09 00:47 GMT+1 óra  
Egy kis alapozás,hátha valaki még nem látta őket:
Számítógépes grafika XNA
XNA programozás
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
Tiger20 - Tag | 47 hsz       Online status #104194   2009.02.08 06:09 GMT+1 óra  
Hello!

Nekem egy olyan problémám lenne, hogy van egy sprite, amiben bizonyos színeket le akarok cserélni másra. Pl. pirosat sárgára, zöldet kékre stb.

Az megvan, hogy mit mire akarok, de a lényeg hogy változó számú ilyen pár van és ez futás időben dől el, vagyis dinamikus. Tehát egyik spritenál (ez kb 128*x128-as vagy 256*256-os méretű lesz) 3 színt akarok lecserélni, másiknál meg 10-et.

Próbáltam spritera color replace metódust vagy módszert találni, de nem találtam. Persze azt megtehetném hogy byte tömbön végig megyek pixelenként, és egyesével kicserélném, de ez szerintem lassú lenne...

XNA-s fórumon találtam egy példát: ott pixel shadert javasolnak rá. De itt csak 1 színt cserél le 1-re, amit paraméterként ad vektor3-ként. Nekem ezt kéne valahogy változó számú színpárra.
Az lenne a kérdésem, hogy lehetne ezt paraméterként átadni HLSL-ben?
Gondolom list és hasonló gyűjtemények itt nincsenek, esetleg tömb?
És tömbben lehet átadni összetettebb típusokat (tehát nem csak int vagy floatot, hanem mondjuk színt, argb-ben vagy vektor3-at vagy vektor4-et)
Illetve mekkora tömb adható át?

Shaderekhez nem nagyon értek, most olvasgatom...

Vagy ha ezt meg lehet shader nélkül is egyszerűen nekem az is megfelel.

   
Kuz - Törzstag | 4455 hsz       Online status #104123   2009.02.06 08:15 GMT+1 óra  
Annyira baj, hogy nem szeretem a beépített loader dolgot? Jobb szeretném kicsit dinamikusan használni az xna-t. Meg örülnék, ha a 300kbyte-os képből nem csinálna 1,5mb-os xnb-t. Gond az is, hogy ha csak az alapfunkciókat használom (értsd : semmi hackelés), akkor pl nem tudok odaadni a modellezőmnek egy sima exe-t, hogy tesztelje a modelljeit, hanem neki kell átküldeni a modelleleket, nekem be kell tölteni, nyomni kell 1-2 screenshotot, hogy jó-e, etc... Azt meg ugye nem akarom elvárni tőle, hogy ő kezdje el betöltögetni magának a modelleket otthn, mert egyrészt ez nem az ő dolga, másrészt a progi is folyamatosan változik, így mindig küldözgetni azt sem akarom. Meg ilyenek.

A lenti probléma még adott.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Csizmás Kandur - Tag | 436 hsz       Online status #104113   2009.02.06 06:56 GMT+1 óra  
Ejj kuz, mindig elveszel a részletekben. Content-nél miért is kell saját loadert írni, minek? Mindenki mindent meg akar írni, maniac is a fél XNA-t hack-eli mikor még el se kezdett benne semmit.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
Kuz - Törzstag | 4455 hsz       Online status #104110   2009.02.06 06:46 GMT+1 óra  
Ok, az hogy van, hogy ha a shaderbe beleírom, hogy

Kód:
technique T1 {
pass P0{
PixelShader = compile ps_3_0 valami();
}
}


akkor lefordul a progi, megy az effect is, de ha ezt csinálom :
Kód:
void graphics_PreparingDeviceSettings(object sender,  PreparingDeviceSettingsEventArgs e)
{
...
e.GraphicsDeviceInformation.PresentationParameters.MultiSampleQuality = 0;
e.GraphicsDeviceInformation.PresentationParameters.MultiSampleType =
                        MultiSampleType.FourSamples;
...
}


akkor meg kiírja, hogy bocs, de legalább PS1.1 és VS1.1-es kártya kell???
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Lord_Crusare - Törzstag | 1286 hsz       Online status #104014   2009.02.05 08:51 GMT+1 óra  
Idézet
Csizmás Kandur :
Igen csak nulla előélettel nem sok esély van rá. Azt a doksi is írja, hogy Arcade-nál már szigorúan nézik, azt is, hogy ki mit tett le az asztalra. (community-s előélet, ha van figyelemebe veszik) Sehol nem lehet csak úgy odaállítani, hogy én vagyok a Csizmás Kandúr Hungary nevű országból itt a budget játék el akarom adni.



Ki beszél budget játékról... ? Na de megbeszéljük majd, ha beregeltem.

Szerk.: Bár most, hogy jobban belegondolok, valamilyen szinten budget játékról van szó itt is .

Ezt a hozzászólást Lord_Crusare módosította (2009.02.05 22:08 GMT+1 óra, ---)

   
kicsy - Szerkesztő | 4304 hsz       Online status #104010   2009.02.05 07:52 GMT+1 óra  
A Community rendszerben a fejlesztői közösségnek, a többi fejlesztőnek kell tesztelnie a játékod (innen is a név). Csak ennek fényében jelenhet meg. XBLA-n meg belső quality assurance, aka tesztelés alá vetettek mindent, aminek persze költségvonzata is van (~ $50k), kapcsolni kell a meta-mókába (highscores, achivements, gamertag), meg nyilván meg kell ütni egy szintet - ez alól mondjuk a community sem lesz kivétel gondolom.
Egyébként még wiki-n is fenn van ennek nagy rész, olvasmány.
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
Csizmás Kandur - Tag | 436 hsz       Online status #104009   2009.02.05 07:42 GMT+1 óra  
Idézet
kuzanth :
A Live-ra felpakolás sem úgy megy, hogy feltöltöd a játékot, azt' jó napot! Azt is leelenőrzik, és ők mondják meg, hogy a 200, 400 vagy a 800 ms pontos kategóriába fog-e kerülni.


-No Portfolio Management
You own your game
-Games are unrated
Classification information will be visible

-No certification requirements
We don’t determine what is fun
-Have your peers help test before submitting

Developer sets the Price
-3 levels - 200, 400, and 800 MS Points

Egyszerűen a méret alapján dől el.

Németország benne van, szóval lehet szomszédolni, ha van valami.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
Kuz - Törzstag | 4455 hsz       Online status #104008   2009.02.05 07:39 GMT+1 óra  
A Live-ra felpakolás sem úgy megy, hogy feltöltöd a játékot, azt' jó napot! Azt is leelenőrzik, és ők mondják meg, hogy a 200, 400 vagy a 800 ms pontos kategóriába fog-e kerülni.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Csizmás Kandur - Tag | 436 hsz       Online status #104007   2009.02.05 07:37 GMT+1 óra  
Igen csak nulla előélettel nem sok esély van rá. Azt a doksi is írja, hogy Arcade-nál már szigorúan nézik, azt is, hogy ki mit tett le az asztalra. (community-s előélet, ha van figyelemebe veszik) Sehol nem lehet csak úgy odaállítani, hogy én vagyok a Csizmás Kandúr Hungary nevű országból itt a budget játék el akarom adni.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
Lord_Crusare - Törzstag | 1286 hsz       Online status #104005   2009.02.05 07:23 GMT+1 óra  
Igazából mégis a PC-s éri meg a legjobban, mert ha egyszer találsz módot az értékesítésre, nincs semmilyen költséged a C# és XNA miatt.

   
Csizmás Kandur - Tag | 436 hsz       Online status #103999   2009.02.05 05:38 GMT+1 óra  
Ha már a kiadás alább szóba került, utánaolvastam ennek.
alapvetően két féle van:
-community games
-arcade

Mindkettő feltétele az XNA használata és valamilyen módon engedélyezett régióból kell felpakolni a cuccot, vagy a székhelynek ott kell lennie.

A community-re alapvetően nem nehéz felkerülni annak, aki az engedélyezett régióból pakolja fel. Nincs moderálás, viszont időkorlát és pénzlevonás bizonyos ideig az van. 150 Mb-os méretlimit is van. Hálózat, minden használható ingyen, ha a fejlesztői eszközök is azok. Ezt hogy ellenőrzik le, vagy foglalkoznak e vele jó kérdés.

Arcade-re már nehezebb bejutni. Szigorú minőség ellenőrzés van a fentieken felül. Itt mát bizonyos dolgokhoz devkit is kell, vagy legalábbis ajánlott. Az, hogy egy komolyabb community felkerül e automatikusan egy szinttel feljebb, vagy hogy lehet oda bekerülni azt még nem derítettem ki. Mire a community-re eljut valaki szerintem rájön a válaszra, mivel magyar support lesz, ha a régió engedélyezett lesz.

Zune-al kapcsolatban semmit nem írnak, igazából nem értem ezt minek rakták bele.
Gamefest-es új ppt-ket érdemes bújni annak, akit érdekel.

PC-re is ugyanaz érvényes, mint a community-re fejlesztői eszközök szempontjából. A terjesztés viszont itt nem megoldot tígy egy alap framework-ön kívül semmi mást nem nyer vele, aki ezt választja.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
Kuz - Törzstag | 4455 hsz       Online status #103970   2009.02.04 13:35 GMT+1 óra  
Ez miért lenne cubemap?

Szerk. : időközben megleltem a megoldást, és a választ. A lenti megoldás működik, bár igen teljesítmény zabáló. Nálam ugyan még 100fps fölött van az érték, de félek, hogy ez haveromnál nem így lesz.

Ezt a hozzászólást kuzanth módosította (2009.02.04 15:31 GMT+1 óra, ---)
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
sirpalee - Tag | 1282 hsz       Online status #103969   2009.02.04 13:23 GMT+1 óra  
Optimizálást kezdhetnéd azzal hogy nem cube mapot használsz, hanem sima textúrát. (már ha feltesszük a lentebb megadott eljárást követed)

A gond az lesz, hogy egy nagyon fill rate limited eljárás, amiben a mobil gpu-k amúgysem nagyon erősek.
raytraceisten és übermedic
   
Kuz - Törzstag | 4455 hsz       Online status #103967   2009.02.04 12:34 GMT+1 óra  
A játékomhoz kell egy sun shader, és ez egész jól néz ki.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Asylum - Törzstag | 5440 hsz       Online status #103966   2009.02.04 12:30 GMT+1 óra  
ez mi lesz? hdr?
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Kuz - Törzstag | 4455 hsz       Online status #103965   2009.02.04 12:28 GMT+1 óra  
Idő közben még gugliztam egy sort, és arra jöttem rá (már ha nem tévedek), hogy az eredeti kódom jó volt (hogy mennyire hatékony az most mellékes, de működött), tehát ahogy lent is írtam

Kód:
ResolveTexture2D resolveTarget1 = new ResolveTexture2D(graphics.GraphicsDevice,
   graphics.GraphicsDevice.Viewport.Width,
   graphics.GraphicsDevice.Viewport.Height, 1, format);


Amit most találtam, abban azt írják, hogy szépen 16x16-ról kell felépíteni és egymásba blendelni a bloomozott rendertargeteket. A gond így most már "csak" annyi, hogy még nem sikerüt belőnöm, hogy pontosan mikor-mit-mekkorára kell állítani.
Továbbá felmerült bennem az a kérdés, hogy ez így mennyire hatékonyatlan megközelítés :

render
save into rendertarget1
render rendertarget1 16x16-ban
save into rendertarget2
render rendertarget2 32x32-ben, blendelve az előző rendertarget1-gyel immáron 32x32-ben
save into rendertarget3
render rendertarget3 64x64-ben, blendelve az előző rendertarget1-gyel immáron 64x64-ben
save into rendertarget2
render rendertarget2 128x128-ban, blendelve az előző rendertarget1-gyel immáron 128x128-ban
save into rendertarget3
...amíg tetszik...

Szóval nem tudom, hogy ez mennyire gépigényes dolog? Mert a laptopon, amin teszteltem kemény 8fps-t tudtam kicsikarni eddig kb mindegyik megoldással, szóval...
A fenti alapötletet innen vadásztam : sun shader. Közben most látom, hogy van letölthető sample is...
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
sirpalee - Tag | 1282 hsz       Online status #103960   2009.02.04 10:20 GMT+1 óra  
Logikusan nem a backbuffer méretét kéne lecserélni, a swap chain-t lehet békében hagyni. Csak annyi kéne hogy beállítod ne arra rendereljen hanem egy rendertargetre.

Elvileg annyinek kéne lennie, létrehozol egy textúrát és beállítod rendertargetnek. (legalábbis egy értelmes grafikai api-ban) Valami ilyesmivel kéne próbálkoznod.

Esetleg valami ilyesmivel próbálkozz.

GraphicsDevice.SetRenderTarget (Int32, RenderTarget2D) Sets a new render target for this GraphicsDevice.

És egy ilyennel meg csinálsz egy rendertargetet

RenderTarget2D (GraphicsDevice, Int32, Int32, Int32, SurfaceFormat) Initializes a new instance of this class.
raytraceisten és übermedic
   
Kuz - Törzstag | 4455 hsz       Online status #103951   2009.02.04 06:05 GMT+1 óra  
Van egy kis problémám. Egyszerűen nem találom a megoldást arra kérdésre, hogy postprocessingnél hogy kell beállítani azt, hogy a pp textúra csak pl 256x256-os legyen. Szerintem már minden lehetséges változatot kipróbáltam, de jelenleg a progi csak akkor működik, hogy minden resolvetexture2D-t így állítok be :

Kód:
SurfaceFormat format = GraphicsDevice.PresentationParameters.BackBufferFormat;

resolveTarget1 = new ResolveTexture2D(graphics.GraphicsDevice,
   graphics.GraphicsDevice.Viewport.Width,
   graphics.GraphicsDevice.Viewport.Height, 1, format);


Ami ugye nem egészséges, mert így a pixelshader dolgozik, mint a güzü. Ha a width/height helyére beírom a 256, 256-ot, akkor a

Kód:
graphics.GraphicsDevice.ResolveBackBuffer(resolveTarget1);


hibát dob, miszerint a backbuffer mérete nem egyezik meg a textúra méretével.
Olvastam valami olyat is, hogy xna3.0 alatt ezzel már nem kel foglalkozni, csak a sprite draw-nál megadni a source méretet, mint 256-ot, és maga a spritebatch ezt elintézi, de nem tapasztaltam teljesítménynövekedést. Valakinek valami ötlet?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Lord_Crusare - Törzstag | 1286 hsz       Online status #103927   2009.02.03 11:35 GMT+1 óra  
Nem mindenhez, de ehhez pl. érdemes.

   
Asylum - Törzstag | 5440 hsz       Online status #103926   2009.02.03 11:27 GMT+1 óra  
mindenhez osztály...jajj emberek...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
djlazar - Törzstag | 147 hsz       Online status #103923   2009.02.03 09:25 GMT+1 óra  
Köszönöm a segítséget. Így már van min elindulnom. Megpróbálok egy osztályt összehozni neki.
   
nadam - Törzstag | 364 hsz       Online status #103922   2009.02.03 09:20 GMT+1 óra  
Igen, én csak a dolog lényegét szemléltettem egy egyszerű példán keresztül. Igazából én (igaz C++-ban) megírtam úgy a GameInput osztályomat, hogy ezeket belül lekezeli (belül nyilvántartja az utolsó állapotát mindennek), és olyan függvényt is publikál a nagyvilág felé, hogy:

bool isJustPressed(key);

Így nem a játéklogikát kell ezzel terhelnem.
   
Lord_Crusare - Törzstag | 1286 hsz       Online status #103919   2009.02.03 09:15 GMT+1 óra  
A tárolás valóban jó módszer, egyedül annyival érdemes megfejelni, hogy létrehozol erre egy külön osztályt.

   
Asylum - Törzstag | 5440 hsz       Online status #103918   2009.02.03 09:13 GMT+1 óra  
vagy figyeld inkább a release-t...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
nadam - Törzstag | 364 hsz       Online status #103917   2009.02.03 09:10 GMT+1 óra  
Tartsd nyilván az utolsó állapotot, így meg tudod állapítani, hogy most nyomták-e le a gombot.

Ilyesmi:

Kód:
if((lastLeftButton != ButtonState.Pressed)  && (mouse.LeftButton == ButtonState.Pressed)) {
// klikkeltek
}
lastLeftButton = mouse.LeftButton;
   
djlazar - Törzstag | 147 hsz       Online status #103915   2009.02.03 08:54 GMT+1 óra  
Üdv lenne egy kérdésem.
Van egy kód részem hogyha kattintok akkor egy változó értékét 1-el kéne növelni. De ez sajnos nem megy (lehet én vagyok még ennyire kezdő). Módosítja a változó értékét de egyfolytában növeli 1-el.
Íme a kód:
Kód:
if (szez1 && mouse.LeftButton == ButtonState.Pressed)
                {
                    off1++;
                }

A segítséget előre is köszönöm.
   
sirpalee - Tag | 1282 hsz       Online status #103824   2009.02.02 02:55 GMT+1 óra  
Jelöld meg stencillel és attól függően birizgáld vagy sem.
raytraceisten és übermedic
   
Kuz - Törzstag | 4455 hsz       Online status #103822   2009.02.02 02:05 GMT+1 óra  
Két kérdésem lenne, bár igazából ez nem xna, inkább általános megközelítés :

1. Ha van 100 db ojjektumom, amiből az egyiket úgy lehet szépen megcsinálni, ha közben saját magára post processel rányomok egy shaderes képet is, de a többi 99 ojjektumra nem kell ilyen, akkor ezt hogyan illik megcsinálni? Mert ugye, ha a PP-s objektumaimnál mindig mentem a rendertargetet, majd a művelet után visszaállítom, az elég erőforrásigányes, nem? Nincs erre valami finomabb megoldás?

2. Ha az előző kérdésben szereplő PP-s objektumot bloomolnom kell, de szeretnék egy olyan opciót is, ami magát a képernyőn látható képet bloomolja, akkor hogy szokás azt megcsinálni, hogy ezt az 1 objektumot ne bloomoljam megint? Mert így ugye olyan, mintha kétszer menne rá a bloom. Vagy nem?
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] > 30 < [35] [40] [45] [50] [55]