versuch 2



  • es stürzt ja nicht mal ab - es rendert das eine aber nicht das andere ...

    (das es gleich geschlossen wird war eigentlich nicht mein gedanke ich finds nur nicht ok das so ne sinnlose antwort kommt

    "remotedebugging? " per log ?

    am besten ihr testet mal das was ich verlinkt hab, würde nur gerne wissen ob es was ausgibt oder nicht - drückt mal f1 da kommt ne console wo dann paar ausgaben stehen die man als debug nutzen kann

    wenn ihr eine g36 seht ist es so richtig - aber ich seh sie nicht auf jedem PC bei mir bzw nur auf mein laptop(?)!

    hellihjb schrieb:

    bool my_3dobj_inuse[1000];
    
    for(int i = 0;i<10000;i++)
      {
        if (my_3dobj_inuse[i] == false)
    

    sollte es daran liegen würde es auf jedem rechner nicht funktionieren werds aber gleich mal beobachten

    das der der werte bereich nicht der selbe ist lag an einem versuch - hat ich noch nicht wieder korigiert ... 😮



  • hellihjb schrieb:

    bool my_3dobj_inuse[1000];
    
    for(int i = 0;i<10000;i++)
      {
        if (my_3dobj_inuse[i] == false)
    

    solche probleme kann man oft durch einfaches hingucken loesen...

    huch wo ist denn da der Fehler? ich finds nich



  • "Allein bin ich nichts wert, und vermehre dennoch den Wert" (mit andern Worten eine 0) ist zuviel/zuwenig da.



  • my_3dobjs_inuse wird nur bis 1000 deklariert aber es ist möglich bis 10000 zugehen -> die daten werden aus nem zufalls speicher interpretiert ... das mein Program nicht gecrasht ist ui- schwein gehabt *G*

    zum thema remotedebugging hab ich das: http://msdn2.microsoft.com/en-us/netframework/aa569599.aspx gefunden - werd mich mal die nacht damit durch arbeiten um so den fehler zu finden warum es auf ner ati-graka angeizeigt wird und auf ner nividia-graka nicht ! für mein verständis ist das nen bissel un logisch drum hab ich hier hilfe gesucht ,,,

    hab herausgefunden das egal was ich als 3dobj-datei lade nicht gerendert werde -> werd ich die lade routine noch mal weiter debugen vllt liegts ja daran ...

    in den kommenten 5 stunden kann ich leiter nicht progen 😡 also werd ich euch erstmal vor morgen nicht weiter belästigen *G*


  • Mod

    LinkeT schrieb:

    es stürzt ja nicht mal ab - es rendert das eine aber nicht das andere ...

    und das sollten wir woher wissen?

    (das es gleich geschlossen wird war eigentlich nicht mein gedanke ich finds nur nicht ok das so ne sinnlose antwort kommt

    du bestands auf email und nicht oeffentliche beitraege zur loesung.

    "remotedebugging? " per log ?

    nein, per remote debugger...

    am besten ihr testet mal das was ich verlinkt hab, würde nur gerne wissen ob es was ausgibt oder nicht - drückt mal f1 da kommt ne console wo dann paar ausgaben stehen die man als debug nutzen kann

    wenn ihr eine g36 seht ist es so richtig - aber ich seh sie nicht auf jedem PC bei mir bzw nur auf mein laptop(?)!

    und dann soll jeder sagen ob er was sieht oder nicht damit du ne statistik machst oder sollen wir es auch noch fixen was du coden willst?

    hellihjb schrieb:

    bool my_3dobj_inuse[1000];
    
    for(int i = 0;i<10000;i++)
      {
        if (my_3dobj_inuse[i] == false)
    

    sollte es daran liegen würde es auf jedem rechner nicht funktionieren werds aber gleich mal beobachten

    jeder rechner ist anders, wie soll es dann ueberall gleich sein? wenn es ueberall gleich liefe, dann haette das da oben erst nirgens laufen duerfen.



  • my_3dobjs_inuse wird nur bis 1000 deklariert aber es ist möglich bis 10000 zugehen
    die daten werden aus nem zufalls speicher interpretiert

    da du das array scheinbar nicht mal initialisierst, hast du damit sogar mehr recht als du denkst.
    die chance ist denkbar gering, dass ueberhaupt eines der elemente 0 (false) ist...
    zum glueck stehen meistens irgendwo nutzdaten die nullen enthalten 😉



  • aaach das eine ist 1000, das andere 10 000 .... mist 🙂 nich gesehn



  • hellihjb schrieb:

    my_3dobjs_inuse wird nur bis 1000 deklariert aber es ist möglich bis 10000 zugehen
    die daten werden aus nem zufalls speicher interpretiert

    da du das array scheinbar nicht mal initialisierst, hast du damit sogar mehr recht als du denkst.
    die chance ist denkbar gering, dass ueberhaupt eines der elemente 0 (false) ist...
    zum glueck stehen meistens irgendwo nutzdaten die nullen enthalten 😉

    im debuger stand da überall "false" ... da war ich glücklich ... zeromem(&my_3dobjs_inuse,sizeof(bool)*10000); sollte da ausreichen um es zu initialisieren oder ?!

    so ich schau mir mal den remote debuger an ... hoffentlich bringt das was ...
    ich bin soweit schonmal das alles was geladen wird bei meinem test-pc nicht angezeigt wird aber auf mein ide-pc angezigt wird (und ja der selbe ordner[physikalisch, per netzwerklaufwerk] mit relativen pfadangaben)



  • bei nen anderen funzt es, nur bei der nvidia nicht ... was kann man bei DX machen das es nur bei ATI geht ?!



  • bool my_3dobj_inuse[1000];
    

    zeromem(&my_3dobjs_inuse,sizeof(bool)*10000); sollte da ausreichen um es zu initialisieren oder ?!

    ...muesste gerade so "ausreichen" 😉
    uebrigens gibt es eine tolle erfindung namens constructor...

    bei nen anderen funzt es, nur bei der nvidia nicht

    entferne alle fehler aus deinem programm, dann laeuft es auch auf jedem rechner.


  • Mod

    hellihjb schrieb:

    bei nen anderen funzt es, nur bei der nvidia nicht

    entferne alle fehler aus deinem programm, dann laeuft es auch auf jedem rechner.

    du bist ja so krass drauf wie TGGC 😮 🤡



  • hellihjb schrieb:

    uebrigens gibt es eine tolle erfindung namens constructor...

    MyClass *blub = new MyClass[100];
    

    Wird da eigentlich für alle 100 Elemente der Constructor aufgerufen?


  • Mod

    xindon schrieb:

    hellihjb schrieb:

    uebrigens gibt es eine tolle erfindung namens constructor...

    MyClass *blub = new MyClass[100];
    

    Wird da eigentlich für alle 100 Elemente der Constructor aufgerufen?

    ja und beim loeschen der destructor



  • hellihjb schrieb:

    bei nen anderen funzt es, nur bei der nvidia nicht

    entferne alle fehler aus deinem programm, dann laeuft es auch auf jedem rechner.

    ich dachte ich muss fehler rein bauen damit es überall gleich läuft -.-

    also soweit hab ich das Problem schon mal begrenzt:

    es betrifft NUR objekte die ich aus einer datei auslesse.

    ich hab also 2 Objekte eines was beim laden erst errechnet wird ( der zylinder aus dem beispiel) und ein objekt was ich aus einer datei laden möchte ...

    auf 2 Rechner werden beide Objekte dargestellt und und auf 2 anderen wird nur das errechnette Objekt dargestellt ...

    ich hab nun auch schon die gesamten vertex positionen ausgegeben - das sah ziemlich normal aus, auf beiden(wo es dargestellt wird und wo es nicht dargestellt wird das selbe)

    ich seh schon ... aufgeben und das Projek von anfang an neuschreiben ... um dann auf den selben Fehler zu warten ... ist wohl nun das beste ... wenn man hier schon keine vernüftigen lösungsansetzte bekommt, "mach deine Fehler raus ..." echt geil 😡 klar mach ich hier und da noch mal paar fehler ... und ihr auch(!) aber die sind ja zum lernen gut 😃
    ich werd das mit werd den fehler mit den 1000(0) in zukunft mit #define max_blubb xxx umgehen.

    ich hab noch nen anderen Fehler gefunden - bei refreshcon() wird zuviel speicher kopiert - hatte gehofft das das mein Problem lösst aber -.-

    zum Thema remote-debugging könnte es sein das nicht mit Express Edition geht ? 😉

    ich bin fest davon überzeugt dass das Problem nicht sooo einfach zu lösen ist (alle array mitglieder auf false setzten...)
    scheinbar hab ich mich ca 10 mal falsch ausgedrückt wo ich gesagt habe das eine wird gerendert (das bedeutet für mich das ich der graka sage zeichne mir diese polygone(Vertexbuffr) aufm bildschirm) das laut HRESULT hr == S_OK [auf deutsch ohne Fehler] bei ATI sichtbar ist und bei nVidia NICHT sichtbar, da ja der screen gelöscht wird (mit einer farbe die mit hilfe von cos/sin errchnet wird )sollte man ja annehmen, dass das Objekt nicht sichtbar ist ...

    ich hate auf antwortengehoft wie du hast das und das (zB alphablending) so und so aktiviert und mit der komibination wirds bei nVidia transparent ,,, aber naja ... vllt sollte ich das mal zu nVidia schicken *G* die wissen da vllt mehr ,,,

    PS kennt wer nen tool was automtisch von diversen datein immer ein backup macht (zeitlich/tasten druck), so das man immer ein backup vom source code hat -.- am besten noch mit differenz...

    ok noch eine frage ... thema unicode:
    #undef unicode funzt nicht bzw weiss ich nicht ob ich das so richtig verstanden hab...

    bei der debugversion kann der compiler von "text" (nur) nach LPCSTR umwandeln und bei der Releaseversion (nur)nach LPCWSTR... bzw kann ich bei der Debugversion immer den text per "text" übergeben und bei der releaseversion nur L"text"



  • LinkeT schrieb:

    klar mach ich hier und da noch mal paar fehler ... und ihr auch

    Und weisste was ich dann mache? Ich setze mich hin und mach sie raus. Und du nicht! f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)



  • TGGC schrieb:

    LinkeT schrieb:

    klar mach ich hier und da noch mal paar fehler ... und ihr auch

    Und weisste was ich dann mache? Ich setze mich hin und mach sie raus. Und du nicht! f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)

    jo sitzt neben mir schaust mir über die schulter und weisst was ich mach/nich mach ... is klar ... fein das du das machst


  • Mod

    🙄 das forum ist um bei problemen zu helfen, nicht beim debuggen, dein ganzes jammern hier bring weder dich weiter, noch jemanden dazu fuer dich zu debuggen. du bist nicht der einzige der mal nen tag an nem bug sitzt und ich seh hier nicht hunderte threads von leuten die trivialbugs geloest bekommen wollen. wenn debugen dein defizit am programmieren ist, dann lern einfach sauberen code zu schreiben, dann ersparst du es dir, nimm eine programmiersprache die dir mehr unterstuetzung bietet z.b. c#,java,VB die mit aus diesem grund gemacht wurden.



  • ich hab ein problem damit das ein Program auf 2 rechnern 2 verschiedene ergebisse liefert - nach meinem Verständnis ist das schlicht weg unmöglich!

    debugen ist nicht min Problem (wie kommt ihr/du da drauf) ich hab schon diverse Fehler von mir schon durch debugen gelöst

    Also noch mal ich wollte nieeemals das einer von euch was von mi debugt (wie oft wurde gesagt ich slle den code posten).
    Ich wollte NUR (nicht mehr, kein bissel) nur einen lösungsansatz (im falle jemand hatte schon das Problem erfolgreich gelöst)...

    scheinbar sind fragen die hier nicht gelöst werden können unangebracht und werden mit dankbaren sprüchen wie "mach deine Fehler raus, dann funktioniert es" kommentiert ... sehr gut ... 👎

    EDIT:

    Nochmal kurz das Problem - 3d objekte werden nicht auf allen PCs gerendert - scheinbar nur auf welchen die ATI grafikkarten haben



  • du bist bereits auf mehrere moegliche fehlerursachen und ansatzpunkte hingewiesen worden.
    anstatt deinen code so umzuschreiben, dass er wenigstens einem mindestmass an funktionstuechtigkeit und stabilitaet entspricht, willst du die hardware fuer deine fehler verantwortlich machen - das ist laecherlich.



  • LinkeT schrieb:

    scheinbar sind fragen die hier nicht gelöst werden können unangebracht und werden mit dankbaren sprüchen wie "mach deine Fehler raus, dann funktioniert es" kommentiert ... sehr gut ...

    Wir wissen das es so sehr gut ist, darum machen wir es ja auch. f'`8k

    Autocogito

    Gruß, TGGC (\-/ has leading)


Anmelden zum Antworten