uuppppss,
wie als wenn es nicht schon peinlich genug währe, dass man nicht auf die Idee kommt mal Vieleck statt Polygon einzugeben, musste ich auch noch feststellen, dass ich das ganze viel einfacher machen kann.
Wieso einfach wenns auch schwer geht? lol
danke auf jeden Fall
Das Map-Format ist allerdings etwas gewöhnungsbedürftig
jo, aber hammer ist dafür ein wirklich netter editor. und so kann man sich sogar nen kompiler schreiben der sich direkt in hammer integrieren lässt...
für indoor level kollisionen bietet sich evtl. ein bsp tree an. zum rendern wird man heute eher portale verwenden.
Nun, wie frage ich das ganze ab? Ich weis es nich, ich beschäftige mich erst vor kurzem mit DirectDraw. Und es gibt nicht so viele Beispiele die mit MFC geschrieben sind und noch Overlay's ansprechen.
Hallo nochmal,
Ja habs jetzt hinbekommen, eigentlich mehr durch probieren...
Ich mußte die DepthMask genau vor dem zeichnen jedes einzellnen partikels deaktivieren (und nicht vor dem ganzen partikelsystem) und dazu, sie dannach sofort wieder anwerfen (und nicht erst beim nächten frame),in etwa so:
glDepthMask(GL_FALSE);
particle[loop]->draw();
glDepthMask(GL_TRUE);
Jetzt sieht alles perfekt aus
Edit: Ich denke es war nur der letzte Punkte wichtig, also die glDepthMask(GL_TRUE) noch am Ende der DrawGLScene.
Andrey schrieb:
außerdem: bei der matrix-projektion müsste ich noch alles mit 1/w multiplizieren, und das würde ne ewigkeit dauern
nur zum testen muestest du das nicht unbedingt dividieren, du muesstest dann nur immer in der ragen von -w bos +w statt -1 + 1 (bei der nearplane weiter hin gegen 0) testen.
FireballGFX schrieb:
Hallo
ich an deiner Stelle würde mir ne Methode basteln, die mir die ganzen Lichtquellen initialisiert. Spätestens wenn du anfängst mit Materials zu arbeiten, wird es unübersichtlich.
Außerdem würde ich auch keine GL_LIGHT0 nutzen, sondern eine neue Lichtquelle nehmen, GL_LIGHT1. Die 0 würde ich nutzen, um den Raum komplette auszuleuchten.
Die 1 dann ab in die Laterne.
Grüße
Fireball
Für die Grundhelligkeit nimmt man aber das globale ambiente Licht und keine Lichtquelle.
Oder wie hast du das gemeint?
es müsste ausreichen, wenn du ihm zusätzlich zu deinem Programm die glut.dll mitgibst. Wenn du noch zusätzlich andere Dinge genutzt hast wie Devil oder Fmod, dann müssen auch diese dll´s alle dabei sein.
Gruß
Fireball
weil
1. die farbe in float ist und somit ausserhalb der range liegen kann (die range begrenzung bezieht sich auf den framebuffer)
2. wenn du licht draufrechnest gibt es stellen die sehr viel dunkler sind und das multipliziert mit deiner hellen farbe duerfte irgendwas zwischen 0 und 1 an einigen stellen ergeben.
Ja, danke...
das Programm hat nur in dem Bereich 0,0,32,32 gezeichnet, weil die Funktion DrawPic fehlerhaft war...
SetRect(&rc, x, y, x + width, y + height);
Danke, du hast mich auf die Lösung gebracht