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
Kredisoft - Tag | 194 hsz       Online status #35804   2006.11.08 04:26 GMT+1 óra  

   
Kredisoft - Tag | 194 hsz       Online status #35803   2006.11.08 03:48 GMT+1 óra  
Milyen módszerrel szoktatok DirectInput-ban a mouse koordinátáit ScreenKoordinátákra átszámolni? Simán csak egy váltózóban eltároljátok a kezdőértékeket, és aztán kiszámoljátok?

   
Kredisoft - Tag | 194 hsz       Online status #31772   2006.10.06 01:41 GMT+1 óra  
Az Általános offtopicban irogattam róla hogy a MDX 2.0-t Oktober 05.-től nem lehet futtatni, mert a MS a XNA-ra való áttérést szorgalmazza.
Az egyik megoldás az, hogy XNA-t használtok helyette, a másik az, hogy az MDX 1.1-et.

Személy szerint az utobbit választom...

Egy kis forumban lehet róla olvasgatni:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=742919&SiteID=1

   
Kuz - Törzstag | 4455 hsz       Online status #31158   2006.09.28 02:50 GMT+1 óra  
Remélem idővel én is meg fogom. Viszont ez már kezd elég durva OFF-ba átmenni, szóval erről sztem ennyi elég volt.
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???

   
ferchild - Törzstag | 815 hsz       Online status #31157   2006.09.28 02:49 GMT+1 óra  
szerintem ezt a nincs otthon netet hagyjuk...nekem sem volt és még sokaknak itt....mégis emgtanultuk
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
ferchild - Törzstag | 815 hsz       Online status #31156   2006.09.28 02:48 GMT+1 óra  
Idézet
kuzanth :
Az oktatás hibája, mert elhitették velünk, hogy a C#-ban a GC mindent elintéz. Na de most már legalább tudom az igazságot! De azért rakhatnának több példát is az sdk-ba...



TOVÁBBÁ azért sem az oktatás hibája mert igazuk volt! tényleg mindent elintéz.....előbb vagy utóbb de megteszi....eltávolítja csak nem mindegy mikor adott esetben...ezért van definiálva egy ilyen interface hogy IDisposable, nemde ???

mert ha nem így lenne akkor ez sem lenne
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #31155   2006.09.28 02:47 GMT+1 óra  
Csak mondjuk nem az kb 1-2 óra netezés segíti elő a tanulásomat, amit a suliban kell véghez vinnem, mert otthon nincs net! Itt ugyanis nem csak a proggal tudok foglalkozni, mert van egyéb dolgom is. Egyébként nem mondtam h jó programozó lennék. Sőt, már említettem vlahol, hogy "ez a tapasztalatlanság hátránya". De hát így tanul az ember...
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???

   
ferchild - Törzstag | 815 hsz       Online status #31149   2006.09.28 02:41 GMT+1 óra  
nem kötözködni akarok, de_

1) nem csak az oktatásé
2) nem csak dx sdk van a világon
3) attól, hogy egy nyelvnek tudod a szintaxisát még enm jelenti azt hogy használni is tudod
4) márpedig az egyetemen rosszabb esetben csak azt tanítják meg.
5) olvasni kell meg tanulni....tele a net anyaggal ingyé! no meg ott a msdn
6) vannak blogok. c#-osak is

ha programozó szeretnél lenni és gémdeves akkor nem csak a dx sdk-t kell olvasgatnod ám, hanem a nyelvet is tanulnod kell (c#-ra gondolok) és még nagyon sok minden mást
és ez már korántsem közoktatás
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #31146   2006.09.28 02:37 GMT+1 óra  
Az oktatás hibája, mert elhitették velünk, hogy a C#-ban a GC mindent elintéz. Na de most már legalább tudom az igazságot! De azért rakhatnának több példát is az sdk-ba...
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???

   
ferchild - Törzstag | 815 hsz       Online status #31143   2006.09.28 02:32 GMT+1 óra  
vicces! mindig jót szórakozok ezen........
nem a te hibád (teljesen), hanem az oktatásé! bár az önfejlesztő tanuláshoz ennek semmi köze az is igaz
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #31137   2006.09.28 02:26 GMT+1 óra  
Akkor meg sajt!
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???

   
ferchild - Törzstag | 815 hsz       Online status #31136   2006.09.28 02:25 GMT+1 óra  
és ha már van neki akkor illik használni
meg a null nem szünteti meg a memória foglalást, csak akkor ha GC arra jár éppen ezt nem tanították???
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
ferchild - Törzstag | 815 hsz       Online status #31134   2006.09.28 02:21 GMT+1 óra  
Texture Class

--------------------------------------------------------------------------------

Note: This documentation is preliminary and is subject to change.
Manipulates a texture resource.

Definition

Visual Basic .NET NotInheritable Public Class Texture
Inherits BaseTexture
Implements IDisposable
C# public sealed override class Texture : BaseTexture,
IDisposable

Managed C++ public __gc __sealed class Texture : public BaseTexture,
IDisposable
JScript .NET public class Texture extends BaseTexture
implements IDisposable

Members Table

KIMÁSOLTAM AZ SDK-BÓL...ERGÓ ....................
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #31131   2006.09.28 02:14 GMT+1 óra  
Azt hittem, hogy egy egyszerű null-ozás is segít. Egyébként végig azt a ........ sdk-t túrtam, de egy szó nem volt arról, hogy "Vigyázz, mert csak a dispose-olás segít". Ráadásul egy darab egyszerű példaprogi nem volt benne, hogy legalább a lépéseket láthattam volna! Szóval ennyit az sdk-s helpről
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???

   
ferchild - Törzstag | 815 hsz       Online status #31130   2006.09.28 02:08 GMT+1 óra  
ha megnézted volna a doksit, akor tudtad volna...
de nem kellett volna a doksit sem nézni, mert kideríthető vagy 3 féle képpen hogy van IDispose interface implementálva benne :d
majd megtanulod, hogy előbb olvasni kell és csak utána kódolni
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Kuz - Törzstag | 4455 hsz       Online status #31123   2006.09.28 02:02 GMT+1 óra  
Hát b....us, tegnap kb 3 óra próbálkozás után végre sikerült megoldanom a problémát. Azt hittem, hogy C#-ban nem lehet ilyen memória szemetet hagyni, de nagyon feltűnő volt, hogy összesen 37-szer futott le a render, és csak a 38. rendernél szállt el. Az ok : a textúra valamiért bennmaradt a vga memóriában, és mivel 1 render elvileg kb 3,5 mb textúrát eredményez, így gyorsan elfogyott a 128 mb vga ram . A probléma az volt, hogy nem null-ozni, hanem Dispose()-olni kell a textúrát és/vagy a surface-eket (bár a surface-t nem biztos, hogy 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???

   
Kuz - Törzstag | 4455 hsz       Online status #31062   2006.09.27 08:47 GMT+1 óra  
Ezek szerint sehol nem lenne szabad null-ozni a surface-eket?
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???

   
TPG - Tag | 3402 hsz       Online status #31055   2006.09.27 07:51 GMT+1 óra  
Minek csinálsz egy rendersurface-t ha az első adandó alkalommal mindjárt ki is NULL-ozod? Nem vagyok képben a C# működésével de C++ ban ilyenkor az objektum a memóban marad és a progi előbb-utóbb visít érte.
A többi részt meg nem különösen értem, átkozottul kaotikus számomra pedig C#-ot alap szinten tudok használni és olvasni is.
Reality is almost always wrong. - House

   
Kuz - Törzstag | 4455 hsz       Online status #31051   2006.09.27 07:32 GMT+1 óra  
Értelemszerűen először a Render eljárás hívódik meg...
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???

   
Kuz - Törzstag | 4455 hsz       Online status #31019   2006.09.27 04:22 GMT+1 óra  
Közben megoldottam a problémát, most viszont az a baj, hogy az első (feltételezem az első) renderelet frame után elszáll a progi. Debugolás alatt viszont nem. Na ez miért lehet??? Itt a - egyelőre kicsit fapados - kód. Bevágom az egészet kommentekkel együtt, nehogy lemaradjon a lényeg (picit hosszú lesz, úgyhogy bocsi ) :
Kód:
...globális változók inicializálása
rendertargettexure = null;
            rendersurface = dev.CreateOffscreenPlainSurface(1024, 768, Format.X8R8G8B8, Pool.Default);
...
private void RenderToTexture(Device dev, ref Objects o)
        {
            rendertargettexure = new Texture(dev, dev.DisplayMode.Width, dev.DisplayMode.Height, 1, Usage.RenderTarget, Format.X8R8G8B8,
                Pool.Default);
            #region
            rendersurface = null;
            Surface oldrendersurface = null;
            dev.Clear(ClearFlags.Target | ClearFlags.ZBuffer,
                System.Drawing.Color.FromArgb(0, 0, 0), 1.0f, 0);
            dev.SetRenderState(RenderStates.ZEnable, true);
            dev.SetRenderState(RenderStates.Lighting, true);
           
            dev.BeginScene();
            dev.SetTexture(0, meshTexture);
            o.mesh.DrawSubset(0);
            dev.SetTexture(0, null);
            dev.EndScene();

            oldrendersurface = dev.GetRenderTarget(0);
           
            rendersurface = rendertargettexure.GetSurfaceLevel(0);
            dev.StretchRectangle(oldrendersurface, renderrect, rendersurface, renderrect, TextureFilter.None);
            oldrendersurface.ReleaseGraphics();
            rendersurface.ReleaseGraphics();
            #endregion
        }

public void Render(ref Device dev, ref ArrayList meshes)
        {
            #region Matrices
            Matrix mat = Matrix.Identity;//Matrix.RotationY(Environment.TickCount / 4500.0f);
            dev.Transform.World = mat;

            Matrix proj = Matrix.PerspectiveFovLH((float)(Math.PI / 4.0f),
                1.0f * dev.DisplayMode.Width / dev.DisplayMode.Height, 1.0f, 10000.0f);
            dev.Transform.Projection = proj;

            Matrix view = Matrix.LookAtLH(new Vector3(0.0f, 0.0f, -200.0f),
                new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, 1.0f, 0.0f));
            dev.Transform.View = view;
            #endregion

            #region Render & Sampler States
            /*dev.RenderState.AntiAliasedLineEnable = true;
            dev.RenderState.EnableAdaptiveTessellation = true;
            dev.RenderState.MultiSampleAntiAlias = true;
            dev.RenderState.ShadeMode = ShadeMode.Gouraud;

            dev.RenderState.Ambient = System.Drawing.Color.White;
            dev.RenderState.CullMode = Cull.CounterClockwise;
            dev.SamplerState[0].MinFilter = TextureFilter.Anisotropic;
            dev.SamplerState[0].MagFilter = TextureFilter.Anisotropic;
            dev.SamplerState[0].MipFilter = TextureFilter.Anisotropic;
            dev.SamplerState[0].MaxAnisotropy = dev.DeviceCaps.MaxAnisotropy;*/
            #endregion

            Objects o = (Objects)meshes[0];
            RenderToTexture(dev, ref o);
            o = (Objects)meshes[0];
            #region
            dev.SetRenderState(RenderStates.ZEnable, false);
            dev.SetRenderState(RenderStates.Lighting, false);

            dev.BeginScene();

            int passes = effect.Begin(0);

            for (int ef = 0; ef < passes; ef++)
            {
                effect.SetValue("Tex0", rendertargettexure);
                effect.SetValue("WorldView", mat * view);
                effect.SetValue("Projection", proj);
                effect.SetValue("LightPos", new Vector4((float)(30.0f * Math.Cos(Environment.TickCount / 1000.0f)), 0.0f,
                    (float)(30.0f * Math.Sin(Environment.TickCount / 1000.0f)), 1.0f));

                effect.BeginPass(ef);
                o.mesh.DrawSubset(0);
                effect.EndPass();
            }
            effect.End();
            o = null;
            rendersurface = null;
            rendertargettexure = null;
            #endregion
            #region DrawText
            FrameFont.DrawText(null, "Simple Bloom Shader", rect1, DrawTextFormat.None,
                System.Drawing.Color.Green);

            FrameFont.DrawText(null, "Framerate : " +
                CalculateFrameRate().ToString() + " fps", rect2, DrawTextFormat.None,
                System.Drawing.Color.Red);

            FrameFont.DrawText(null, "VGA : " + VGA, rect3, DrawTextFormat.None,
                System.Drawing.Color.Red);

            FrameFont.DrawText(null, "Shader Version : " + vsversionmajor.ToString() +
                "." + vsversionminor.ToString(), rect4, DrawTextFormat.None,
                System.Drawing.Color.Red);

            FrameFont.DrawText(null, "Vertices : " +
                numbervertices, rect5, DrawTextFormat.None, System.Drawing.Color.Red);

            FrameFont.DrawText(null, "Screenshot : ENTER", rect6, DrawTextFormat.None,
                System.Drawing.Color.Red);

            FrameFont.DrawText(null, "Exit : ESC", rect7, DrawTextFormat.None,
                System.Drawing.Color.Red);
            #endregion

            #region ScreenShot
            /*if (sshot)
            {
                backbuffer = dev.GetBackBuffer(0, 0, BackBufferType.Mono);
                SurfaceLoader.Save(Application.StartupPath +
                    "\" +
                    DateTime.Now.Year.ToString() + "." +
                    DateTime.Now.Month.ToString() + "." +
                    DateTime.Now.Day.ToString() + "." +
                    DateTime.Now.Hour.ToString() + "." +
                    DateTime.Now.Minute.ToString() + "." +
                    DateTime.Now.Second.ToString() + ".bmp", ImageFileFormat.Bmp,
                    backbuffer);
                sshot = false;//Screenshot tiltás
            }*/
            #endregion

            dev.EndScene();
            dev.Present();
        }
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???

   
Kuz - Törzstag | 4455 hsz       Online status #30923   2006.09.26 02:46 GMT+1 óra  
Azt esetleg nem tudjátok, hogy miért nem működhet a StretchRectangle és a Texture.GetSurfaceLevel(0)? Ezeknél mindig elszáll a progim . A Stretch még ráadásul a null-t sem fogadja el, pedig le is van írva, hogy a teljes mérethez adjam meg a null-t. Az, hogy a Surface "Deprecated" lett, az mikortól számít ténylegesen annak?
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???

   
nagyy - Törzstag | 248 hsz       Online status #30919   2006.09.26 02:39 GMT+1 óra  
kuzanth

A "víz - no z puffer - fal" azért nem jó, mert így a víz teljes egészében látszik.



Huh, tényleg, igazad van, erre nem is gondoltam. Bocs, ha félrevezettelek.
Most jutott eszembe, hogy már csak azért se működött volna, mert a víz átlátszó, és ezért csak a fal után lehet renderelni.
   
Kuz - Törzstag | 4455 hsz       Online status #30806   2006.09.25 03:06 GMT+1 óra  
Megnéztem mindegyik variációt. A "víz - no z puffer - fal" azért nem jó, mert így a víz teljes egészében látszik (ha először átgondoltam volna, hogy mit eredményezhet, nem kellett volna próbálkoznom sem, mert triviálisan látszik a hiba ). A vágósík meg eleve nem lehet megoldás (és ezt már tanulva az előző bakiból először átgondoltam!!! ), mert egy nagyobb pálya esetén még a mostaninál is nagyobb vágósíkra lesz majd szükség! Szóval úgy néz ki, hogy marad a modell-illesztés...
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???

   
nagyy - Törzstag | 248 hsz       Online status #30397   2006.09.20 10:39 GMT+1 óra  
Igen, szerintem is a mélységi puffernél lesz valami. A metszés önmagában egyébként még nem kellene, hogy problémát jelentsen, de ha egyszerűen megcsinálható, hogy ne legyenek ilyenek, akkor szerintem a fal és a víz közti metszészés kiküszöbölése egy járható út lehet. (Bár nem a legszebb megoldás.) Ha viszont nehezebben megoldható, akkor még próbálgatni kellene, hátha valahogy meg lehet oldani egyszerűbben.

Én pl olyanokkal próbálkoznék, hogy a vízfelszínt a fal megjelenítése előtt végezném úgy, hogy a ZBufferWriteEnable-t false ra állítanám a víz megjelenítés idejére. Így a víz megjelenítéskor nem kerülnek mélységi adatok a Z pufferbe, azaz ha a Z-puffert vizsgálnánk, olyan mintha "nem is lenne ott a vízfelszín", viszont a képernyőn látszik. Remélem sikerült érthetően elmondanom, amit szerettem volna.

Vagy még lehetne olyannal is kisérletezni, hogy a kamera közeli, és távoli vágósíkja minél jobban körülfogja a jelenetet. (a Matrix.PerspectiveFovLH/RH utolsó két paramétere) Így kisebb lesz az a tartomány amin a mélységi tesztet végezni kell, és ezért az egész mélységi teszt pontosabb lenne.

Nem tudom, hogy ezek segítenek -e, de ha nem, akkor egyelőre nincs több ötletem.
   
Kuz - Törzstag | 4455 hsz       Online status #30183   2006.09.18 07:34 GMT+1 óra  
Megnéztem a ZBufferFunctions-t. Nem segített egyik értéke sem, pedig itt lesz a hiba, mert a víz és a fal metszi egymást. Ha a vizet a fal felé helyezem, nincsenek szaggatott élek. Talán úgy kellene a modelleket megcsinálni, hogy ne legyen bennük metszés?
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???

   
nagyy - Törzstag | 248 hsz       Online status #29898   2006.09.15 05:20 GMT+1 óra  
A kérdés az, hogy mit szeretnél velük csinálni.
Az egész elve az, hogy ha valamit beállítunk egy bizonyos értékre, akkor az addig nem fog megváltozni, míg nem nyúlunk hozzá. Ezért például, ha vannak olyanok, amik értéke a program egészén ugyanaz, akkor elég inicializálás után közvetlenül beállítani, és utána már nem kell őket piszkálni. Viszont azokat, amik változhatnak minden rendereléskor be kell állítani. Én a BeginScene() és az EndScene() közt szoktam ezt elvégezni. Szoktak még olyat is csinálni, hogy az azonos RenderState beállításokat használó megjelenítéseket csoportosítják, és így csoportonként csak egyszer kell a beállításokat elvégezni. Ezért az egész megjelenítés hatékonyabb lesz.
   
Kuz - Törzstag | 4455 hsz       Online status #29895   2006.09.15 05:01 GMT+1 óra  
Ezeket a RenderState-eket egyébként közvetlenül a device.BeginScene() előtt kell beállítani, vagy a device inicializálásánál, vagy mindegy? Vagy van amit itt, van amit ott? Pl.:

dev.RenderState.AntiAliasedLineEnable
dev.RenderState.EnableAdaptiveTessellation
dev.RenderState.MultiSampleAntiAlias
dev.RenderState.AntiAliasedLineEnable
dev.RenderState.EnableAdaptiveTessellation
dev.RenderState.MultiSampleAntiAlias
dev.RenderState.ShadeMode
dev.Clear(ClearFlags.Target | ClearFlags.ZBuffer,
System.Drawing.Color.FromArgb(0, 0, 30), 1.0f, 0);
dev.RenderState.Lighting
dev.RenderState.ZBufferEnable
dev.RenderState.Ambient
dev.RenderState.CullMode
dev.SamplerState[0].MinFilter
dev.SamplerState[0].MagFilter
dev.SamplerState[0].MipFilter
dev.RenderState.SourceBlend
dev.RenderState.DestinationBlend

Ill. ezekből mi az, amit nem is kéne piszkálnom?
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???

   
nagyy - Törzstag | 248 hsz       Online status #29894   2006.09.15 04:53 GMT+1 óra  
Aha, akkor viszont valszeg elég face van ahhoz, hogy látszódnia kellene a teljesítmény különbségnek. Nincs sok ötletem, esetleg még az zavarhat be ha vannak shaderek is, de ez tényleg csak egy tipp.
A ZBufferFunction egyébként C# ban van, C++ -ban D3DRS_ZFUNC-nak hívják. A Device.RenderState-ben kell keresni.
   
Kuz - Törzstag | 4455 hsz       Online status #29891   2006.09.15 04:39 GMT+1 óra  
Ezzel a ZBufferFunction-nal újat mondtál...Ez ugye C#-ban van, nem pedig C++ -ban, mert én egyelőre C#-ot használok! A jelenet pedig kb 1-2 ezer vertexből áll.
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???

   
nagyy - Törzstag | 248 hsz       Online status #29890   2006.09.15 04:29 GMT+1 óra  
Hmm. Ez érdekes, nálam akkor volt hasonló, mikor a megjelenítéskor két face pontosan egymásra esett, és olyankor úgy tűnt mintha egyszer az egyik, egyszer a másik jelenne meg, és emiatt kicsit villogott is az egész, mert a mélységi teszt bezavart. Akkor az volt a megoldás, hogy át kellett állítani a ZBufferFunction-t LessEqual-ról Less-ra. Azt nem tudom, hogy itt is ez -e a probléma, de egy próbát megér.

A render-es kérdésre pedig:
Elvileg kellene látni teljesítménybeli különbséget a kettő közt. Lehet, hogy az a baj, hogy csak kevés face-t rendereltél ilyen beállításokkal, és amiatt nem látszott a különbség?
   
Kuz - Törzstag | 4455 hsz       Online status #29889   2006.09.15 03:48 GMT+1 óra  
Az előbbi kérdésem még áll, de itt egy másik is. Miért néz ki recésen a víz széle az alábbi képen? Ez már nem az első ilyen eset.
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???

   
Kuz - Törzstag | 4455 hsz       Online status #29629   2006.09.11 08:03 GMT+1 óra  
Miért van az, hogy amikor a render előtt beállítom, hogy :
Kód:
dev.RenderState.AntiAliasedLineEnable = true;
dev.RenderState.EnableAdaptiveTessellation = true;
dev.RenderState.MultiSampleAntiAlias = true;
dev.RenderState.ShadeMode = ShadeMode.Gouraud;
dev.Clear(ClearFlags.Target | ClearFlags.ZBuffer,
    System.Drawing.Color.FromArgb(0, 0, 30), 1.0f, 0);
dev.RenderState.Lighting = true;
dev.RenderState.ZBufferEnable = true;
dev.RenderState.Ambient = System.Drawing.Color.White;
dev.RenderState.CullMode = Cull.CounterClockwise;
dev.SamplerState[0].MinFilter = //akár Linear, akár Anisotropic
dev.SamplerState[0].MagFilter = // -II-
dev.SamplerState[0].MipFilter = // -II-

és elkezdek renderelni, akkor ugyanannyi fps-sel megy a render, mintha mindent leveszek false-ra, vagy None-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???

   
ferchild - Törzstag | 815 hsz       Online status #24010   2006.08.04 02:25 GMT+1 óra  
nekem is csinált ilyet......de csak a minimájznál....
egyik lehetőség ami eszembe jut:
vizsgált a render előtt hogy az anbalka állapota (windowstate, ha jól emléxem) nem e lekicsinyített és akkor átugrod a rendert....enniy szerintem működni fog , de azért próbáld ki. Én még nem tettem, mert rájöttem, hogy nem is kell nekem paneles de editornál előjöhet, hacsak nem írsz guit és azzal oldod meg

na pá!
ferchild
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
Orphy - Törzstag | 1893 hsz       Online status #23835   2006.08.02 14:36 GMT+1 óra  
Való igaz!

Nézd csak meg őket egy Windóz+L, és visszalépés után...
A devicelost nem fullscreen függő.

Ha elkattintasz a panelről, attól még meg tudja jeleníteni a képet, szóval DL-t az tuti nem okoz, ott nem is lehet baj.
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #23833   2006.08.02 14:26 GMT+1 óra  
Nem DL-ot okoz,mert pl. ha csak elkattintasz, akkor nincs semmi, itt alapból nincs FS mód, és DX SDK-s tutorok ban sincs DL lekezelve, mégis jók...
   
Orphy - Törzstag | 1893 hsz       Online status #23779   2006.08.02 10:39 GMT+1 óra  
A minimize nem okoz deviceLost-ot ilyenkor?
Más tippem nincs, egyébként mire szállhatna el ettől...
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #23733   2006.08.02 04:36 GMT+1 óra  
Nincs valakinek a bírtokában kód/ tutor, amiben DX-et nem Form-ra renderel, hanem mondjuk Panel-ra v vmilyen komponensre? Mert nekem van egy alap, de az pl. minimize-kor hibát dob... Erre nincs vmi bevált technika? Ilyen tool-okhoz kéne, ahol oldalt vannak a cucc tulajdonságai, középen meg DX-es render.

Ezt a hozzászólást ShAdeVampirE módosította (2006.08.02 04:46 GMT+1 óra, ---)
   
Ati500 - Tag | 119 hsz       Online status #23018   2006.07.27 13:07 GMT+1 óra  
Hali!
Billentyűzet, egér, joystick stb. kezelésére játékokhoz egyértelmű döntés a DirectInput. Ha nem csináltál még ilyet, leírhatom hogy kell (forráskóddal, persze), mert nekem elsőre nem volt túl tiszta...

   
Kuz - Törzstag | 4455 hsz       Online status #22754   2006.07.25 04:24 GMT+1 óra  
Vagy megoldod azt is DirectInputból ! Játékoknál eleve felejtsd el a win-es billentyűzetkezelést (az egérkezelés még csak-csak elmegy, de a billentyűzet az használhatalan!!!)!
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???

   
Ninja - Tag | 13 hsz       Online status #22671   2006.07.24 07:24 GMT+1 óra  
Hinnnye... télleg, erre nem is gondoltam, Köcc Vendég!

   
vendeg - Tag | 2 hsz       Online status #22451   2006.07.22 03:59 GMT+1 óra  
Idézet
Ninja :
hoi


Egy elég marha kérdésem lenne (tudom gugli), de még kezdő vagyok a c# -ban (bár java az okés és végülis a szintaktika nem sokban különbözik ):
Szal billentyűzetet okésan lekezelek egy progiban (egyelőre egy tutorial oldalt nézegetek), de egérnél mi a helyzet?



Nem nčztem meg linket, de ha az ablakot amibe rajzolsz a formb+l szćrmaztatod, akkor a formnak vannak a "mouse" kezdetľ eventjei, pl MouseMove, form loadjćnćl hozzćadod a mousemove eventhez egy eventhandlert čs utćnna mindent figyelni tudsz!

Udv: GyMisi, Horvćtorszćg

(bocs, csak horvćt billentyľzetrąl <rtam )

   
Ninja - Tag | 13 hsz       Online status #22318   2006.07.20 12:24 GMT+1 óra  
Jah, pont onnan tanulok , de azért már valami kezd derengeni a sok Device meg vertices között
Az egerezésnek meg utánna nézek, mert azért arra lehet, hogy szükségem lenne. Azért köszi, bár még úgy is nyaggatni fogok pár embert a Managed cuccal kapcsolatban.

   
Orphy - Törzstag | 1893 hsz       Online status #22315   2006.07.20 12:04 GMT+1 óra  
Idézet
Ninja :
hoi


Egy elég marha kérdésem lenne (tudom gugli), de még kezdő vagyok a c# -ban (bár java az okés és végülis a szintaktika nem sokban különbözik ):
Szal billentyűzetet okésan lekezelek egy progiban (egyelőre egy tutorial oldalt nézegetek), de egérnél mi a helyzet?



Ha a C# KeyDown, KeyUp, stb eseménykezelőjét használod, egyszerre több billentyű lenyomását nem fogod tudni kezelni. Egérnél nekem a C#-os esménykezelők egyszerűen elszálltak

Amit tudok ajánlani:
Nézz utána a DirectInput-nak!
Billentyűzetkezelést elég hamar sikerült megoldani, az jól ment, egeret nem próbáltam, de valószínűleg hasonlóan kell.

DirectInput-hoz egy billentyűs tutor (bocsi, most hirtelen csak billentyűset találtam, de talán segít):
http://www.riemers.net/Tutorials/DirectX/Csharp/tut9.php
   
Ninja - Tag | 13 hsz       Online status #22289   2006.07.20 10:14 GMT+1 óra  
hoi


Egy elég marha kérdésem lenne (tudom gugli), de még kezdő vagyok a c# -ban (bár java az okés és végülis a szintaktika nem sokban különbözik ):
Szal billentyűzetet okésan lekezelek egy progiban (egyelőre egy tutorial oldalt nézegetek), de egérnél mi a helyzet?

   
Orphy - Törzstag | 1893 hsz       Online status #21448   2006.07.12 02:25 GMT+1 óra  
Érdekes kérdés:
mp3 lejátszás:

mciSendString-es megoldással, és
Kód:
Microsoft.DirectX.AudioVideoPlayback;
használatával is bizonyos mp3-ak recsegnek..

128kbps felett és a változó bitrátájúak, ahogyan eddig észrevettem.
Érdekes, a Winamp tökjól játssza azt is
   
Orphy - Törzstag | 1893 hsz       Online status #21326   2006.07.10 10:46 GMT+1 óra  
GyMisi:
Ez már a 2. bugos M$ függvény pár napon belül...
És a 2. eset, h kihúzol a trutyiból

Nagyon köszi!
   
gymisi - Törzstag | 212 hsz       Online status #21312   2006.07.10 07:51 GMT+1 óra  
Idézet
Orphy :
Öööö, esetleg a sprite x,y koordinátája, ami alapján a Draw2d kirajzolja, lehet, hogy nem a bal felső...



Nem tudom, hogy segít-e, de a draw fv-el is próbáltad? Itt ír valami olyat, hogy MDX 1.x-nél volt Draw2D, de a 2-esben a Drawot kéne használni. (msdn forum1,msdn forum 2)

   
Orphy - Törzstag | 1893 hsz       Online status #21276   2006.07.10 01:22 GMT+1 óra  
Öööö, esetleg a sprite x,y koordinátája, ami alapján a Draw2d kirajzolja, lehet, hogy nem a bal felső sarok?

De nemhiszem, mindenhol, ahol képet rajzolunk ki, bal felső sarok, és szélesség, hosszúság alapon megy a dolog.

Csak egyszerűen nem tudom, hol keressem a hibát
   
Orphy - Törzstag | 1893 hsz       Online status #21275   2006.07.10 01:19 GMT+1 óra  
Pont az a gond, hogy a koordináták alapján belelóg, a renderelt képen meg kilóméterekre van egymástól a két kép... Az ütközésre a koordináták alapján jogosan kiabál.

És érdekes, hogy csak akkor, ha a két sprite mérete nem egyezik...

Nemértem, mi lehet a gond
   
VBPimi - Tag | 8 hsz       Online status #21273   2006.07.10 01:14 GMT+1 óra  
bocsi: nem X tengelyen, hanem Y-on