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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2189
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] [31]
Orphy - Törzstag | 1893 hsz       Online status #26869   2006.08.21 12:03 GMT+1 óra  
Sziasztok!

Khm, kellene kis help...

Írok egy motort tanulás céljából, per pill ott tart, hogy meg tudok vele jeleníteni különböző helyen, méretben, szögben kockákat, ezekhez anyagot és textúrát tudok rendelni + van kamera és fény.

Namármost itt jön a bibi...
Sokáig csak studio-ból teszteltem (anyagok megírása előtt ment utoljára .exe-ről), most meg nagyon érdekesen viselkedik. Studio-ból indítva minden ok, de ha .exe-ről indítom, négy kockából 1 hiányzik... Legyen a 4 kocka k0, k1, k2 és k3 (inicializálási, világbeli, és reset, render sorrend is egyben)

A következő eseteket néztem:
Csak anyagokkal - k0 nem jelenik meg, mindenki más igen.
Anyagok és textúrák - ugyanez
Csak textúrák - k1 nem jelenik meg, k0, k2, k3 pedig igen.

Ellenőriztem log-gal, minden rutin fut minden kockában, aminek kell, akkor, amikor kell, továbbá a textúrák és anyagok betöltésével sincsen probléma. A kockák továbbá objektum orientáltan lettek megvalósítva természetesen, így a kockák kódja, kezelése, stb között nincsen különbség.

Studio-ból jó, .exe-ről pedig nem. Mindegy, h debug fordítás, vagy release.
Csak textúrás megjelenítésre másképpen viselkedik, mint anyagokkal, studio-ból mindkét esetben jó...

Khmm...
Help me plz...
   
Csaba42 - Törzstag | 946 hsz       Online status #26728   2006.08.20 05:38 GMT+1 óra  
Miért kapok DIpnutnál a billentyűzet-elérésnél E_ACCESDENIED_et, ha az együttműködési szinte NONEXCLUSIVE? Úgy tudtam, mindenféleképpen megkaphatom . Segítségképpen beírom a függvényem kódját:
Kód:
gtInputClass::gtInputClass(HINSTANCE hInstance, HWND hWnd)
{
    HRESULT hr;
    pDIKeyboard    = NULL;
    pDIMouse         = NULL;
    pDIDevice         = NULL;

    DirectInput8Create(hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&pDIDevice, NULL);

    if((hr=pDIDevice->CreateDevice(GUID_SysKeyboard, &pDIKeyboard, NULL))!=S_OK) return;
    if((hr=pDIKeyboard->SetDataFormat(&c_dfDIKeyboard))!=S_OK) return;
    if((hr=pDIKeyboard->SetCooperativeLevel(hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE))!=S_OK) return;
    if((hr=pDIKeyboard->Acquire())!=S_OK) return;

    if((hr=pDIDevice->CreateDevice(GUID_SysMouse, &pDIMouse, NULL))!=S_OK) return;
    if((hr=pDIMouse->SetDataFormat(&c_dfDIMouse))!=S_OK) return;
    if((hr=pDIMouse->SetProperty(DIPROP_AXISMODE, DIPROPAXISMODE_ABS))!=S_OK) return;
    if((hr=pDIMouse->SetCooperativeLevel(hWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE))!=S_OK) return;
    if((hr=pDIMouse->Acquire())!=S_OK) return;
}

Természetesen a hWnd, ami a kódban szerepel, már inicializálva van! Az a baj, hogy a Debugger a if((hr=pDIKeyboard->Acquire())!=S_OK) return; kód után visszatér a hívó függvényhez, azaz az eléréssel van gond . Eddig nem csinálta ezt, valamit módosítottam egy teljesen más, ennek az osztálynak a működésétől függetlenül működő osztályban, azóta van ez a gond.

   
B@z - Törzstag | 436 hsz       Online status #26504   2006.08.19 01:09 GMT+1 óra  
beast: megkoszonnem
tobbiek: ott markerestem... tobb oran keresztul. de mindig olyanokat dobott ki, amik nem muxottek... nemtom miert, lehet hogy rosszul keresek
de majd a hasznos linkek topicot megnezem

   
Csaba42 - Törzstag | 946 hsz       Online status #26255   2006.08.17 14:31 GMT+1 óra  
Idézet
gaborlabor :
Hmm. Csaba42 linkje nem müködik nálam.
De azt hiszem ERRE gondolt.


Nem, valaki agyas találta ki, hogy az url elé kötelező lenne a http://, mert nélküle csak izé... nos nem hergelem magam emiatt

   
gaborlabor - Moderátor | 4449 hsz       Online status #26249   2006.08.17 13:40 GMT+1 óra  
Hmm. Csaba42 linkje nem müködik nálam.
De azt hiszem ERRE gondolt.

   
Csaba42 - Törzstag | 946 hsz       Online status #26246   2006.08.17 13:25 GMT+1 óra  
Tudod, a tutor nem egyenlő a help-pel! Egy kis agytorna Neked sem árt: itt kezdheted is!

   
beast - Törzstag | 1241 hsz       Online status #26239   2006.08.17 11:59 GMT+1 óra  
meg irjuk is meg helyetted a programot? kicsit azért keress már körbe, pl. Hasznos Linkek topic, tuti van egy-két dx-es oldal...

   
B@z - Törzstag | 436 hsz       Online status #26238   2006.08.17 11:57 GMT+1 óra  

hah
akkor mar ha itt tartunk, adhatnatok vmi tutorialt a Dsoundhoz ami tud mp3mat lejaccani. mondjuk OGG is jo, de vmiert nalam a crusader fele nem muxik...

   
Csaba42 - Törzstag | 946 hsz       Online status #26214   2006.08.17 09:53 GMT+1 óra  
Szívesen, itt mindig példátlanul segítőkész emberek vannak, imádom is ezt a honlapot

   
B@z - Törzstag | 436 hsz       Online status #26211   2006.08.17 08:00 GMT+1 óra  
hat, koszi szepen mindenki a valaszokat

   
Csaba42 - Törzstag | 946 hsz       Online status #26144   2006.08.17 00:20 GMT+1 óra  
Idézet
TheProGamer :
WinSock. A DirectPlay-t kivonta a Microsoft a forgalomból már egy ideje.


Jó tudni, pedig én is azon vaciláltam, hogy melyiket lenne érdemes, de akkor ez el lett döntve

   
TPG - Tag | 3402 hsz       Online status #26138   2006.08.16 18:21 GMT+1 óra  
Idézet
gaborlabor :
Hát erről a DirectPlay kivonásról is jó tudni!
És mi van/lesz helyette? Mert ddraw helyett id3dxsprite, akkor gondolom DirectPlay helyett is kéne valami ujdonság, nem?
Ha directx-et használnék, akkor énis directsound-ot választanám. De mivel opengl-t használok, maradok az openal-nél.


Tudtommal egyenlőre nem lesz helyette semmi. A DX SDK-ban is csak ennyi található:
"DirectPlay is deprecated, and Microsoft strongly recommends against using it to develop new applications. Game developers should use Windows Sockets (see Windows Sockets) and the Windows Firewall APIs (see Games and Firewalls). "
Reality is almost always wrong. - House

   
gaborlabor - Moderátor | 4449 hsz       Online status #26136   2006.08.16 18:12 GMT+1 óra  
Hát erről a DirectPlay kivonásról is jó tudni!
És mi van/lesz helyette? Mert ddraw helyett id3dxsprite, akkor gondolom DirectPlay helyett is kéne valami ujdonság, nem?
Ha directx-et használnék, akkor énis directsound-ot választanám. De mivel opengl-t használok, maradok az openal-nél.

   
TPG - Tag | 3402 hsz       Online status #26135   2006.08.16 18:01 GMT+1 óra  
Idézet
gaborlabor :
hát ezt jó tudni. én csak most álltam neki, de OpenGL mellett elég könnyen tanulom. eddig nagyon tetszik. de mit értesz az alatt hogy zabálja az erőforrásokat? az egész gépet leterheli annyira, hogy emiatt lassabb lesz a program futása? valahogy biztos meg lehet oldani rengeteg játék és program használja. (néhány). az unreal engine 2 is ezt használja, és ha emlékezetem nem csal, a 3 is ezt fogja használni. akkor mégsem lehet olyan rossz, nem?


Konkrét tapasztalatom nincs ilyen téren, de több helyről hallottam és olvastam hogy erősen több rendszererőforrást eszik mint a DS. Ez nem jelenti hogy rossz, mert ha rossz lenne akkor nem használnák a kereskedelmi játékokban. De véleményem szerint a kettő közül ha választani kell akkor a DS.
Reality is almost always wrong. - House

   
TPG - Tag | 3402 hsz       Online status #26133   2006.08.16 17:57 GMT+1 óra  
Idézet
B@z :
amugy ugyanez a kerdesem a DirectPlay-el is. erdemes ezt hasznalni, vagy inkabb a Winsock nevu csoda szerzemenyt hasznaljam?


WinSock. A DirectPlay-t kivonta a Microsoft a forgalomból már egy ideje.
Reality is almost always wrong. - House

   
gaborlabor - Moderátor | 4449 hsz       Online status #26131   2006.08.16 17:51 GMT+1 óra  
Szerintem egyértelműen DirectPlay.
Nagyban megkönnyíti a dolgodat, az biztos!

   
B@z - Törzstag | 436 hsz       Online status #26125   2006.08.16 17:20 GMT+1 óra  
Idézet
Csaba42 :
Idézet
B@z :
hello
mit gondoltok a Direct Sound-rol? erdemes szenvedni vele, es talalni egy ertelmes tutorialt rola (mert nem tul sok van...), vagy inkabb hasznaljak FMOD-t?


Én személy szerint utálom az FMOD-ot, és ha már az ember úgyis DirectX-ben programoz, miért ne használná ki a DSound-ot?! Egyébként mit értesz az alatt, hogy "szenvedni vele"? Rengeteg tutorial található hozzá, valamint ott a dsutil.h és dsutil.cpp nevű állományok, amik megkönnyítik az ember munkáját (velük már sokkal kezelhetőbb, mint az FMOD). Szvsz. használd a DSoundot.


hat eddig csak FMOD-ot hasznaltam, es meg voltam elegedve vele. persze nem hasznalok ilyen 3D-s hangzast, meg ilyesmiket. az utasitasok, amik kellenek nekem: inicializalas, zene lejaccas, hangositas/halkitas, ismetles. kb ennyi arra meg eleg az FMOD is

de mivel DXet programozok, akkor gondoltam miert ne hasznalnam a DS-t, ha mar itt van?
hat oszinten szetneztem a neten, es nemnagyon talaltam ertelmes tutort... mind1ik csak wavot toltott be, a legtobb meg azt se jol (komolyan, kifagyott a betoltes kozben XXD) bar most neztem, hogy a DX SDK-ban van "1par" tutor hozza, szal asszem az menni fog... de ha jol emlekezem az is csak wav.... vagy lehet, hogy inkabb hasznalok ogg-t, crusader tutorja alapjan... meg nem tom

amugy ugyanez a kerdesem a DirectPlay-el is. erdemes ezt hasznalni, vagy inkabb a Winsock nevu csoda szerzemenyt hasznaljam?

   
gaborlabor - Moderátor | 4449 hsz       Online status #26030   2006.08.16 08:12 GMT+1 óra  
Idézet
TheProGamer :
Idézet
gaborlabor :
OpenAL ?
Sokan használják opengl alatt a directinput-ot, miért ne használhatnád directx alatt az openal-t? azt használd, amelyik szimpatikusabb.


Az OpenAL zabálja az erőforrásokat, a DS nem.


hát ezt jó tudni. én csak most álltam neki, de OpenGL mellett elég könnyen tanulom. eddig nagyon tetszik. de mit értesz az alatt hogy zabálja az erőforrásokat? az egész gépet leterheli annyira, hogy emiatt lassabb lesz a program futása? valahogy biztos meg lehet oldani rengeteg játék és program használja. (néhány). az unreal engine 2 is ezt használja, és ha emlékezetem nem csal, a 3 is ezt fogja használni. akkor mégsem lehet olyan rossz, nem?

   
Csaba42 - Törzstag | 946 hsz       Online status #26028   2006.08.16 07:35 GMT+1 óra  
Én nem ismerem az OpenAL-t, eddig csak FMOD-ot és DSoundot használtam (igaz, előbbit nem sokáig, utóbbit viszont már állandóan).

   
TPG - Tag | 3402 hsz       Online status #26026   2006.08.16 07:14 GMT+1 óra  
Idézet
gaborlabor :
OpenAL ?
Sokan használják opengl alatt a directinput-ot, miért ne használhatnád directx alatt az openal-t? azt használd, amelyik szimpatikusabb.


Az OpenAL zabálja az erőforrásokat, a DS nem.
Reality is almost always wrong. - House

   
gaborlabor - Moderátor | 4449 hsz       Online status #26012   2006.08.16 06:12 GMT+1 óra  
OpenAL ?
Sokan használják opengl alatt a directinput-ot, miért ne használhatnád directx alatt az openal-t? azt használd, amelyik szimpatikusabb.

   
Csaba42 - Törzstag | 946 hsz       Online status #26010   2006.08.16 05:54 GMT+1 óra  
Idézet
B@z :
hello
mit gondoltok a Direct Sound-rol? erdemes szenvedni vele, es talalni egy ertelmes tutorialt rola (mert nem tul sok van...), vagy inkabb hasznaljak FMOD-t?


Én személy szerint utálom az FMOD-ot, és ha már az ember úgyis DirectX-ben programoz, miért ne használná ki a DSound-ot?! Egyébként mit értesz az alatt, hogy "szenvedni vele"? Rengeteg tutorial található hozzá, valamint ott a dsutil.h és dsutil.cpp nevű állományok, amik megkönnyítik az ember munkáját (velük már sokkal kezelhetőbb, mint az FMOD). Szvsz. használd a DSoundot.

   
B@z - Törzstag | 436 hsz       Online status #25987   2006.08.16 04:27 GMT+1 óra  
hello
mit gondoltok a Direct Sound-rol? erdemes szenvedni vele, es talalni egy ertelmes tutorialt rola (mert nem tul sok van...), vagy inkabb hasznaljak FMOD-t?

   
r-marci - Tag | 11 hsz       Online status #25163   2006.08.12 17:40 GMT+1 óra  
Lehetséges, hogy a betöltött X-File-hoz tartozó bone-ok koordinátáit megtudjam?
Egy türelmetlen, matematikai analfabéta, kezdő programozó állást keres!
   
Csaba42 - Törzstag | 946 hsz       Online status #24656   2006.08.09 01:50 GMT+1 óra  
Idézet
Hacker :
A textúra betöltésnél kell ügyeskedned nem pedig a sprite-oknál. Ezzel a függvénnyel hívd meg a textúrabetöltést: D3DXCreateTextureFromFileEx . Több infó az MSDN-en.


Köszi szépen!

   
Hacker - Törzstag | 567 hsz       Online status #24652   2006.08.09 01:13 GMT+1 óra  
A textúra betöltésnél kell ügyeskedned nem pedig a sprite-oknál. Ezzel a függvénnyel hívd meg a textúrabetöltést: D3DXCreateTextureFromFileEx . Több infó az MSDN-en.
No [img] !
Programozz ne háborúzz!!!!

   
Csaba42 - Törzstag | 946 hsz       Online status #24650   2006.08.09 01:09 GMT+1 óra  
Hogyan lehet átlátszóvá tenni egy színt (pl: 0xFFFF00FF, vagyis RBG-ben 255-0-255) a sprite-oknál? Nézegettem az MSDN-en a DX konstansokat, de ott nem találtam . Gondolom a LPD3DXSPRITE Begin(..) függvényébe kell írni.

Nekem ezzel a "D3DXSPRITE_ALPHABLEND"-del nem sikerült, ez max. átlátszóvá tette az egész Sprite-om

   
Csaba42 - Törzstag | 946 hsz       Online status #23236   2006.07.29 05:03 GMT+1 óra  
Köszi szépen, ráadásul egy másik, időközben felmerült kérdésemre is választ adtál!

   
beast - Törzstag | 1241 hsz       Online status #23203   2006.07.29 01:51 GMT+1 óra  
Hali! Én már csináltam hasonlót, és én úgy oldottam meg, hogy az objektumot mindeig eltoltam a kamera nézőpontjába. Ha tudod a kamera nézőpontját és a helyzetét (position, meg a "look" (márpedig tudod) akkor abból már azt is ki tudod számolni, hogy az objektumnak merre kell néznie, hogy arra nézzen mint a kamera. Huhh, remélem segitettem!

   
Csaba42 - Törzstag | 946 hsz       Online status #23196   2006.07.29 01:15 GMT+1 óra  
Sziasztok! Lenne egy igen egyszerű kérdésem, már sokat gondolkoztam rajta, de úgy döntöttem, meghallgatom a hozzáértők véleményét is. Azon gondolkoztam, hogy oldjam meg, hogy egy adott mesh mindig a képernyőn szerepeljen, mint pl. az autós játékokban a játékos autója. Az volt az első gondolatom, hogy a kamerát mozgatom, majd mindig kirajzolom magát a tárgyat. Majd arra jutottam, hogy mozgatom a tárgyat is, és a kamerával követem. Utóbbi szimpatikusabbnak tűnik, de mielőtt a megvalósításába kezdenék, szeretném, ha aki már csinált hasonló programot, megosztaná velem az elképzeléseit (C++ és DX, de végül is a nyelv nem fontos, csak az elméletre vagyok kíváncsi). Üdv: Csaba

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #22860   2006.07.26 02:50 GMT+1 óra  
immediate mode-dal tudod egyszerre is vizsgalni egyszeruen...

Pszeudokód:

Kód:
GetServiceState()
if (Pressed(DIK_A) &&
    Pressed(DIK_LCONTROL) &&
    Pressed(DIK_LMENU) &&
    Pressed(DIK_RMENU))
      ...


Nekem ugy tunt, az ilyesmi muxik... Persze alacsony typematic rate beallitasnal lehet, hogy nem... Nalam az tuti, h BIOSban mindig be van allitva a legmagasabbra Kell a raknak a csipogas...
Dare to imagine!
http://www.insaneidea.hu
   
beast - Törzstag | 1241 hsz       Online status #22837   2006.07.26 01:45 GMT+1 óra  
Örülök, hogy segitett!
Amúgy a kód lehet, kusza, mert van egy Buffered módja is, mikor akár 4-5 bill. állapotát is tudod egyszerre vizsgálni, és azt is elkezdtem implementálni, de végülis abbamaradt...

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #22829   2006.07.26 00:49 GMT+1 óra  
Thx beast, megneztem a kodot, s adott 1-2 otletet Reggelre kesz is lettem az engine inputkezelesenek DirectInputra való átírásával. Az ActionMappingot végülis kihagytam, rohadt jó lett a cucc így is!
Dare to imagine!
http://www.insaneidea.hu
   
beast - Törzstag | 1241 hsz       Online status #22771   2006.07.25 05:19 GMT+1 óra  
Inputra én is DInputot használok és C++-ban, ha kell, a kód, msn-en jelezz...

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #22769   2006.07.25 05:16 GMT+1 óra  
ööö... ez managed DX, nem? szoval asszem nem segitett ki. Mondjuk mea culpa, nem irtam, hogy C++rol van szo...
Dare to imagine!
http://www.insaneidea.hu
   
Kuz - Törzstag | 4455 hsz       Online status #22768   2006.07.25 05:12 GMT+1 óra  
Itt :

Kód:
using System;
using System.Collections;
using System.Windows.Forms;
using Microsoft.DirectX.DirectInput;

namespace KeyboardInput
{
#region
public class InputDevice : Form
{
public Device keyboard;
private string[] keys;

public InputDevice()
{
#region
keys = new string[4];
InitDevices();
#endregion
}

public void InitDevices()
{
#region
keyboard = new Device(SystemGuid.Keyboard);
keyboard.SetCooperativeLevel(
this,
CooperativeLevelFlags.NonExclusive |
CooperativeLevelFlags.Background);

keyboard.Acquire();
#endregion
}

public string[] UpdateKeyboard()
{
#region
//Capture pressed keys.
keys = new string[4];
int i = 0;
foreach(Key k in keyboard.GetPressedKeys())
{
if(i<4)
{
keys[i] = k.ToString().ToLower();
}
i++;
}
return keys;
#endregion
}
}
#endregion
}


Progiban pedig :
Kód:
using KeyboardInput;
...
osztályon belül :
private InputDevice inputdev;
private string[] billentyuk;
private string billentyu;
...
az osztály konstruktorán belül :
inputdev = new InputDevice();
...
én közvetlenül minden renderlés előtt meghívom a következőt :
Leutott_Billentyuk();
...
ami így néz ki :
private void Leutott_Billentyuk()
{
#region
billentyuk = inputdev.UpdateKeyboard();
for(int i=0;i<billentyuk.Length;i++)
{
      billentyu = billentyuk[i];
      switch (billentyu)
      {
case "escape" :
{
...stbstbstb


Ha valami nem érthető, kérdezz!
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???

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #22764   2006.07.25 05:01 GMT+1 óra  
A DX7 vs. DX8 dolog csak annyi, hogy bevezettek egy ActionMapping nevű dolgot DX8-tól, aminek egyenlőre nem sok értelmét látom és a neten erősen megoszlanak róla a vélemények is... Arra lettem volna kiváncsi, hogy ezzel valakinek van-e tapasztalata.

A kód-felajánlást köszi Kimásolni nem fogom, de példaprogi gyanánt jól jön Hol tudom elérni?
Dare to imagine!
http://www.insaneidea.hu
   
Kuz - Törzstag | 4455 hsz       Online status #22752   2006.07.25 04:23 GMT+1 óra  
A F(L)IGHT gámámhoz megvan a DirectInput. Ha kell, el tudom neked küldeni. Bár azt a DX7, DX8-as dolgot nem értettem, de a lényeg, hogy ez dx9-es.
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???

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #22743   2006.07.25 03:13 GMT+1 óra  
Egy kérdésem lenne...

Miután az input Win32 message-ként való kezelésével kicsit ki lett a tudjátokmim, gondoltam szétnézek a DirectInput háza táján. Igen ám, csak ehhez a részhez kicsit újonc vagyok, meg kicsit meg is kavart ez a DirectInput7 vs. DirectInput8 dolog (mapping bevezetése), szeretnék tanácsot kérni. Szerintetek milyen módon lehetne egy efficiens egér + bill kezelést megoldani? A hagyományos is jó, vagy tényleg olyan jó dolog ez a mapping? Ha igen, mivel jobb mint a DX7-es DInput?
Dare to imagine!
http://www.insaneidea.hu
   
gymisi - Törzstag | 212 hsz       Online status #21716   2006.07.16 02:11 GMT+1 óra  
Ööö, a szoftveresre gondoltam, amikor először textúrába render, aztán pixelenként művelet azon a textúrán, és a végén azt jeleníted meg...

úgy már minden más, azt hittem, hogy shaderrel csinálod.

   
Orphy - Törzstag | 1893 hsz       Online status #21715   2006.07.16 02:05 GMT+1 óra  
Egyébként maga a PP nagyon bejön, a köv, kissé már "komolyabb" motoromba be is fogom építeni a lehetőséget

TheProGamer, kösz a cikket, tényleg érdekes volt, és még hasznos lesz
   
Orphy - Törzstag | 1893 hsz       Online status #21714   2006.07.16 02:01 GMT+1 óra  
Idézet
gymisi :
Mondjuk C++ alatt biztosan gyorsabb

Ez azért már a videókártya függvénye inkább.



Ööö, a szoftveresre gondoltam, amikor először textúrába render, aztán pixelenként művelet azon a textúrán, és a végén azt jeleníted meg...

Nálam egy kép ilyen, pixelenkénti olvasása elég durván lassított, természetesen minél nagyobb volt a kép, annál inkább. Monjuk a megoldásom biztos nem volt optimális (első játék próbálkozás c64 után , szóval belefér), mert nem sikerült C# alatt a textúrából kinyernem ezeket az infókat, szóval a vizsgálódást memóriában, képből csináltam... De abban az esetben biztos vagyok benne, hogy van elég jelentős sebességbeli különbség a 2 nyelv között...
   
gymisi - Törzstag | 212 hsz       Online status #21696   2006.07.15 12:20 GMT+1 óra  
Mondjuk C++ alatt biztosan gyorsabb

Ez azért már a videókártya függvénye inkább.

   
TPG - Tag | 3402 hsz       Online status #21691   2006.07.15 11:18 GMT+1 óra  
Idézet
Orphy :
Köszi mindenkinek a válaszokat
MiniGame-ben szerintem még marad az egyben megjelenítés, utána pedig fogok majd kicsit kísérletezni a dologgal. Űgy tűnik, egy ilyen 1xü háttér megoldásra meg fog feleni a nagy textúra, ha valamikor scroll-t csinálok, akkor meg úgyis vagdosni kell majd.

Jelenleg az ütközéskezeléssel bajlódok, ugyanis a pixel-perfect megoldásom túlságosan lassúra sikeredett... Pedig csak azokon a területeken vizsgáltam pixelenként, ahol összeértek Oké, oké, managed DX, de...

Ezután felmerült a kérdés, hogy a Postprocessing szép dolog, de vajon mennyit lassít?
Mondjuk C++ alatt biztosan gyorsabb, MiniGame után én is inkább azt fogom preferálni, csak most a rövidke 3 hét miatt nem volt mindegy


Attól függ hogy a postprocessing mennyit lassít hogy milyen felbontáson fut a cucc és hogy milyen bonyolult a shader amit használsz hozzá.
Reality is almost always wrong. - House

   
Orphy - Törzstag | 1893 hsz       Online status #21689   2006.07.15 10:51 GMT+1 óra  
Köszi mindenkinek a válaszokat
MiniGame-ben szerintem még marad az egyben megjelenítés, utána pedig fogok majd kicsit kísérletezni a dologgal. Űgy tűnik, egy ilyen 1xü háttér megoldásra meg fog feleni a nagy textúra, ha valamikor scroll-t csinálok, akkor meg úgyis vagdosni kell majd.

Jelenleg az ütközéskezeléssel bajlódok, ugyanis a pixel-perfect megoldásom túlságosan lassúra sikeredett... Pedig csak azokon a területeken vizsgáltam pixelenként, ahol összeértek Oké, oké, managed DX, de...

Ezután felmerült a kérdés, hogy a Postprocessing szép dolog, de vajon mennyit lassít?
Mondjuk C++ alatt biztosan gyorsabb, MiniGame után én is inkább azt fogom preferálni, csak most a rövidke 3 hét miatt nem volt mindegy
   
TPG - Tag | 3402 hsz       Online status #21666   2006.07.14 16:18 GMT+1 óra  
Idézet
bmarci :
Orphy: A texture vagdosással kapcsolatban, ha csak a te gépeden fog futni a cucc akkor úgy érdemes ahogy a legkevesebb vesződséggel jár, de (ezt tapasztalatból modnom) ha közzéteszed akkor a legsittesebb kártyákon is fogják nézni
Én a vagdosásra esküszöm, meg hát amikor ezt csináltam még voodoo2-m volt és lusta voltam újat írni A legkorrektebb módszer valószínűleg, ha megnézed mit támogat a kártya. A legtöbb fejfájás a négyzetes és 2hatvány méretű textúrák miatt lehet. ha vagdosol, akkor azt minden kártya tudja, és nem kell ilyesmit nézni


Emellett lenne egy problémám is:
Valami oknál fogva az egész képet (pontosabban egy részét) texturába renderelem (post effectek és víz tükröződés...stb miatt) mondjuk 1024x768-ba és utána ezt megadott méretű polygon(ok)ra rakom. De azt vettem észre, hogy Ati-n tökéletesen szuperál, NVidian viszont, mintha kisebb méretű lenne a texture és azt szétnyújtaná. Tehát majdnem minden második pixel dupla magas, mintha 1024x512-es lenne.
Ha létrehozás után lekérdezem a texture caps-et akkor jó méreteket ad vissza és a kártya is támogatja a kellő méretet. Túl sok gépen még nem sikerült kipróbálni, szóval lehet, hogy csak geforce 6800-on rossz, de attól tartok, hogy nem
Találkozott már valaki ezzel a jelenséggel???


Nekem Gef6800-asom van és tökéletesen működik a Postprocessing minden létező felbontásban amit a monitoromon ki tudtam próbálni (320*240->1600*1200). Hogyan csinálod? Hogyan renderelsz a textúrába? És milyen beállításokkal küldöd vissza a képernyőre? Esetleg egy képet tudnál mutatni, valahogy nem sikerül az egészet elképzelni.
Reality is almost always wrong. - House

   
bmarci - Tag | 2 hsz       Online status #21665   2006.07.14 15:50 GMT+1 óra  
Orphy: A texture vagdosással kapcsolatban, ha csak a te gépeden fog futni a cucc akkor úgy érdemes ahogy a legkevesebb vesződséggel jár, de (ezt tapasztalatból modnom) ha közzéteszed akkor a legsittesebb kártyákon is fogják nézni
Én a vagdosásra esküszöm, meg hát amikor ezt csináltam még voodoo2-m volt és lusta voltam újat írni A legkorrektebb módszer valószínűleg, ha megnézed mit támogat a kártya. A legtöbb fejfájás a négyzetes és 2hatvány méretű textúrák miatt lehet. ha vagdosol, akkor azt minden kártya tudja, és nem kell ilyesmit nézni


Emellett lenne egy problémám is:
Valami oknál fogva az egész képet (pontosabban egy részét) texturába renderelem (post effectek és víz tükröződés...stb miatt) mondjuk 1024x768-ba és utána ezt megadott méretű polygon(ok)ra rakom. De azt vettem észre, hogy Ati-n tökéletesen szuperál, NVidian viszont, mintha kisebb méretű lenne a texture és azt szétnyújtaná. Tehát majdnem minden második pixel dupla magas, mintha 1024x512-es lenne.
Ha létrehozás után lekérdezem a texture caps-et akkor jó méreteket ad vissza és a kártya is támogatja a kellő méretet. Túl sok gépen még nem sikerült kipróbálni, szóval lehet, hogy csak geforce 6800-on rossz, de attól tartok, hogy nem
Találkozott már valaki ezzel a jelenséggel???

   
Hacker - Törzstag | 567 hsz       Online status #21463   2006.07.12 05:27 GMT+1 óra  
Amúgy pedig a mip-map-ek használatával jelentős teljesítmény növekedést érhetsz el gyengébb gépeken.
No [img] !
Programozz ne háborúzz!!!!

   
TPG - Tag | 3402 hsz       Online status #21456   2006.07.12 03:57 GMT+1 óra  
Idézet
Orphy :
Sziasztok,

tudom, h nagyon hülyét fogok kérdezni, szal bocsi...

Ha a progiban akarok használni egy hátteret, ami legyen az egyszerűség kedvéért 800x600-as statikus kép, akkor azt hogyan érdemes megjeleníteni:
- Egy 800 x 600 as textúraként
- Szétvágva több kisebb textúrára, és ezeket egymáshoz illesztve kirakni az eredeti képet?
A kérdés arra vonatkozik, h melyik megoldással fog több kártyán menni, lesz kisebb a videokari igény, stb... Tudom, h nem lehet akármekkora textúrát betölteni, ez videokari függő, ergó a 2. megoldás jobbnak tűnik, de hol van az a határ, amitől érdemes úgy csinálni?

A progim egy NVidia Riva TNT2-es kártyán nem töltötte be a textúrákat, nem csak nagyokat nem, hanem 64x64-eset sem... Sajnos erről bővebbet nem tudok, nem volt logolás...
De kérdés:

ha tudom, h max X x Y-os, Z bites textúrát használok, akkor ebből lehet-e valahogyan azt mondani, h a minimum videokari igénye ez és ez?

Öööö, ugyanis ez nekem nem annyira egyértelmű, mint a hardveres shader támogatás - ha úgy csinálom, tudja a kártya, mert így írtam meg, ez az igény, és kész

Tudom, h hülye kérdések, csak még nem találkoztam sehol ezzel a témával


1, Nem szabad szétvágni, úgy sokkal több időbe telik a renderelés, textúra váltogatások stb.
2, a TnT2-esek elvileg 2048*2048-as maximális textúra felbontást támogatnak, ezt a felbontást szinte minden videókártya támogatja, az újabb nVidiák már 4096*4096-ot is tudnak.
3, D3DXCheckTextureRequirements-el lehet ellenőrizni hogy biztos támogatja-e az adott kártya az adott textúrafelbontást az adott D3DFORMAT mellett, és ez a függvény kapásból vissza is adja azt az értéket amire méretezni kell a texet betöltésnél ha nem támogatja a kártya.
Reality is almost always wrong. - House

   
Orphy - Törzstag | 1893 hsz       Online status #21447   2006.07.12 01:27 GMT+1 óra  
Sziasztok,

tudom, h nagyon hülyét fogok kérdezni, szal bocsi...

Ha a progiban akarok használni egy hátteret, ami legyen az egyszerűség kedvéért 800x600-as statikus kép, akkor azt hogyan érdemes megjeleníteni:
- Egy 800 x 600 as textúraként
- Szétvágva több kisebb textúrára, és ezeket egymáshoz illesztve kirakni az eredeti képet?
A kérdés arra vonatkozik, h melyik megoldással fog több kártyán menni, lesz kisebb a videokari igény, stb... Tudom, h nem lehet akármekkora textúrát betölteni, ez videokari függő, ergó a 2. megoldás jobbnak tűnik, de hol van az a határ, amitől érdemes úgy csinálni?

A progim egy NVidia Riva TNT2-es kártyán nem töltötte be a textúrákat, nem csak nagyokat nem, hanem 64x64-eset sem... Sajnos erről bővebbet nem tudok, nem volt logolás...
De kérdés:

ha tudom, h max X x Y-os, Z bites textúrát használok, akkor ebből lehet-e valahogyan azt mondani, h a minimum videokari igénye ez és ez?

Öööö, ugyanis ez nekem nem annyira egyértelmű, mint a hardveres shader támogatás - ha úgy csinálom, tudja a kártya, mert így írtam meg, ez az igény, és kész

Tudom, h hülye kérdések, csak még nem találkoztam sehol ezzel a témával
   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] > 25 < [30] [31]