DreiDe - 3D Engine basierend auf OpenGL
Übersicht BlitzMax, BlitzMax NG Codearchiv & ModuleGehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
Plasma(alt)Betreff: yap |
So, Aug 07, 2005 21:15 Antworten mit Zitat |
|
---|---|---|
kanns nicht testen muss mir doch mal ne neue graka kaufen
@ vertex kommt noch sowas wie gettexturename usw ? |
||
DIV is dead ! |
Vertex |
So, Aug 07, 2005 22:39 Antworten mit Zitat |
|
---|---|---|
So, ich bin zurück aus meinem "Urlaub" - besser gesagt die 4 beschissensten Tage meines Lebens...
YellowRider: Das sieht absolut geil aus! Fetten Respekt! Soll ich das mit MyFragmentProgram.GetError() so machen, das wenn kein FP Support da ist, es dennoch eine Fehlermeldung wie "FragmentPrograms are not supported!" geben soll? GetError() gibt eigentlich nur die Syntaxfehler der Shaderprogramme zurück. Plasma: Wie meinst du das mit dem Texturenamen? Meinst du den Integernamen, der von OpenGL vergeben wird? Ich werde die nächsten Tage mich ersteinmal hinter Cg klemmen. Ist wie gesagt eine Shadersprache (C änlich), und kein Assembly mehr. Wird anscheinend von den Karten unterstützt die ebenfalls VP und/oder FP Support haben. mfg olli |
||
vertex.dreamfall.at | GitHub |
neverbit |
Mi, Aug 10, 2005 11:41 Antworten mit Zitat |
|
---|---|---|
hoi,
Erstmal ein riesiges Lob an dich Vertex! Es sind echt superschicke Samples und hammer Bilder bis jetzt! kann das Modul mit der Demo leider nicht compilieren, wird wohl mal Zeit die Full zukaufen. Und Respekt für deine Ausdauer! Also mach weiter so! |
||
Vertex |
Mi, Aug 10, 2005 13:24 Antworten mit Zitat |
|
---|---|---|
Danke, danke Wenn du willst, kann ich mal Exe Dateien daraus machen.
Ich konnte jetzt den Speed ein wenig pushen, in dem ich die Projektionsmatrix der Kamera nur noch dann berechnen lasse, wenn z. B. was am Zoom geändert wird. Sie wird dann nur noch per glLoadMatrix geladen. Weiter funktioniert schon der MyCamera.Project Befehl. Man übergibt 3D Koordinaten änlich wie in Blitz3D mit CameraProject und erhält die 2D Bildschirmkoordinaten änlich wie ProjectedX/Y/Z. RenderToTexture geht ebenfalls. Man rendert die Szene ganz normal, und statts mit Flip die Szene dann auf den Bildschirm anzuzeigen, sagt man MyTexture.GrabBackBuffer(X, Y). Dann kopiert er das gerenderte in die Textur. Ist sehr viel schneller, als wie z. B. in Max2D GrabPixmap das glReadPixels verwendet. Habe schon angefangen einen B3D Loader zu schreiben. Ziemliches scheiß Format was da Mark entwickelt hat. Z. B. speichert er alle Vertices in einem einzigen Chunk ab. Jedoch die Surfaces mit Triangledaten in sepperate Chunks. Z. Z. wird an Projective Textures gearbeitet. Man kann dann praktisch einer Textur ein Entity zuweisen, was wie ein Projektor funktioniert. Dieser Projektor ist meinetwegen der Suchscheinwerfer in euren Batmanspiel. Schwirigkeiten macht mir jedoch a) noch, das die UV Koordinaten warum auch immer nicht aus den Eye Koordinaten berechnet werden, und b) aufgrund der Mathematik dahinter immer auf beiden Seiten projektziert wird. Klappt projective Textures, so ist es dann auch möglich mit Hilfe von Depth Textures !Schatten! zu erzeugen. Man rendert die Szene ohne großen Schnickschnack(ohne Lighting, ohne Texturen usw.) aus der Perspektive des Lichts. Kopiert nurn mit MyTexture.GrabBackBuffer() den Depthbuffer der Szene in die Textur. Jetzt rendert man die Szene ganz normal mit Projective Texture, was der Schatten dann ist. mfg olli Edit: So langsam komme ich Projective Textures auf die Schliche. |
||
vertex.dreamfall.at | GitHub |
Vertex |
Sa, Aug 13, 2005 23:17 Antworten mit Zitat |
|
---|---|---|
http://vertex.art-fx.org/dreide252.zip
http://vertex.art-fx.org/dreide_examples252.zip Naja, ist nix besonders neues dabei. CubeMapping funktioniert nun, ansonsten eben schnelleres Rendering, Render to Tetxure, MyCamera.Project und ein paar Bugs behoben. Nur damit es nicht aussieht, das Projekt sei tot. Der B3D Loader und der MD2 Loader funktionieren nicht! Ist nur zum spielen für mich da Hatte heute viel Zeit um die OGL 2.0 Specs zu studieren. reizt mal wieder eine Softwarerendering Engine zu schreiben. Ansonsten hatte ich gestern mal an einem Reflection/Refraction Shader gearbeitet. Produziert jedoch nicht das gewünschte Ergebnis. So soll er mal aussehen: mfg olli |
||
vertex.dreamfall.at | GitHub |
Justus |
So, Aug 14, 2005 9:40 Antworten mit Zitat |
|
---|---|---|
Zitat: reizt mal wieder eine Softwarerendering Engine zu schreiben
Es ist irre, wie leicht du das aussehen lässt Gibt es denn mal bald Exe-Dateien? Ich würde deine Sachen gerne mal live sehen... |
||
tft |
So, Aug 14, 2005 11:11 Antworten mit Zitat |
|
---|---|---|
Hallo ....
bei mir kommt folgender Error...... C:/Programme/BlitzMax/bin/ld.exe: cannot find C:/Programme/BlitzMax/mod/pub.mod/dreide.mod/dreide.debug.win32.a wasssen das ????? |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
Vertex |
So, Aug 14, 2005 15:18 Antworten mit Zitat |
|
---|---|---|
Justus: Ich habe dir mal die Exe Dateien compiliert
http://vertex.art-fx.org/dreide_examples252bin.zip (Media Dateien sind dabei) tft: dreide.mod Ordner in den BlitzMax mod\pub.mod\ Ordner kopieren und dann im Editor Alt+D drücken. Dann comiliert er das Modul, und dann kannst du es benutzen. Ich biete keine compilierte Version an, da DreiDe platformunabhängig ist. Muss also auf der jeweiligen Platform compiliert werden. mfg olli |
||
vertex.dreamfall.at | GitHub |
Justus |
So, Aug 14, 2005 15:47 Antworten mit Zitat |
|
---|---|---|
Beeindrukend, kann man nicht anders sagen! Der Watershader sieht sehr nett aus! Wenn das auch Ingame so aussieht, wie ich mir das vorstelle, könnte man bisher ungeahntes BlitzWasser machen - geil!
Der Toonshader ist auch ganz lustig, könnte ich mir auch durchaus in einem Comicgame vorstellen. Alles andere sieht auch sehr gut aus, wobei mir jedoch der nötige 3D Sachverstand fehlt, um zu wissen, was es mit Spheremapping und Konsorten auf sich hat. Bumpmapping kenn ich aber, wobei das bei dem Kopf jetzt nicht sooo deutlich zu sehen ist... |
||
Dreamora |
So, Aug 14, 2005 19:40 Antworten mit Zitat |
|
---|---|---|
Spheremapping: Stell dir eine Kugel ums Objekt vor. Danach wird das, was auf der Kugeltextur ist einfach in Richtung Zentrum projiziert.
Supi Sache auf jeden Fall ... endlich mal ein sinnvoller Grund sich ein wenig mit ASM rumzuärgern |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Plasma(alt)Betreff: jaja back to the roots |
So, Aug 14, 2005 20:31 Antworten mit Zitat |
|
---|---|---|
ASM
lol @ Dreamora |
||
DIV is dead ! |
Dreamora |
So, Aug 14, 2005 20:47 Antworten mit Zitat |
|
---|---|---|
Jo ASM für die Shaderprogramme. Weisst muss den "Mist" für s'Studium eh lernen und so rum machen derartige Dinge mehr spass als für theoretische Dinge deren praktischen Sinn ich als ~0 einstufe | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
tft |
So, Aug 14, 2005 21:11 Antworten mit Zitat |
|
---|---|---|
Hi ....
die Examples funktionieren gut. Aber das Problem mit dem selber Compilieren bleit...... Keiner da der mir helfen kann. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
Freeman |
So, Aug 14, 2005 22:19 Antworten mit Zitat |
|
---|---|---|
also bei mir funzt alles wunderbar, kann mich nicht beschwerden,haste mal dein mingW pfade gescheckt`?
Fr3eMaN |
||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
Vertex |
Mo, Aug 15, 2005 0:55 Antworten mit Zitat |
|
---|---|---|
Justus: Wenn ich dann mal bei Release Version 3.00 angelangt bin, wo dann Depth Sorting, Projective Texturing, Depth Texturing, Bone Animation, TLight und X, 3DS, B3D und MD2 Loader funzen, dann schreibe ich auch eine deutsche Hilfe zu DreiDe mit Beispielen, und technischen/mathematischen Hintergrund.
Ja Bumpmapping sieht man bei dem Kopf nicht so gut. Da gibt es noch ein gutes Model Aphrodite Venus, da sieht man es besser. brauche dazu nur die Normalmap. Dreamora: Event. kommt eben noch Cg Support, jedoch bietet glew daür keine Funktionsprototypen an. tft: Zitat: * Notes for Win32 module developers *
To enable module development, you must install the Mingw package http://www.mingw.org/ (main download here http://prdownloads.sf.net/ming...e?download ), and add the Mingw 'bin' directory to your PATH environment variable. You must also add a MINGW environment variable that contains the base directory of the Mingw installation. Note that Mingw is not necessary for general use. Ich persönlich benutze DevC++ mit MingW. Also saug dir http://prdownloads.sf.net/ming...e?download Dann Start -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen Bei Systemvariablen am besten bei der Variable "Path" noch den Pfad von MingW eintragen, und eine zusäzliche Variable "mingw" mit dem Pfad erstellen. Bei mir ist das z. B.: Path = "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\DevCpp\bin;;" mingw = "D:\DevCPP\bin" Jetzt synkronisierst du die Module, und führst Rebuild All Modules (Im Menü unter Program) aus. YellowRider war so nett, und hat mein Sample zum Thema glSlang ohne Probleme getestet(meine Grafikkarte unterstützt es leider nicht, das kann man z.Z. auch nicht emulieren). Ich weiß bloß noch nicht, wie ich das jetzt strukturell in DreiDe einbette. mfg olli |
||
vertex.dreamfall.at | GitHub |
Vertex |
Mo, Aug 15, 2005 4:04 Antworten mit Zitat |
|
---|---|---|
Scheiße ist es spät...
http://vertex.art-fx.org/dreide253.zip http://www.blitz-pasting.net/i...amp;id=162 Mit glSlang. Ist Beta Version, weil ich es eben selber nicht testen kann. Was ist nun der Unterschied zu den Vertex/FragmentProgrammen? glSlang = OpenGL Shading Language ist eine C änliche Hochsprache. Sie erlaubt dann solche Sachen wie If, For, usw. was mit den Assemblyprogrammen nicht möglich ist(es gibt kein BranchBefehle) Der zweite Link beinhaltet ein simples Beispiel. VertexShader: Code: [AUSKLAPPEN] void main(void)
{ gl_Position = gl_ModelViewProjectionMatrix*gl_Vertex; gl_FrontColor = gl_Color; } FragmentShader: Code: [AUSKLAPPEN] void main(void)
{ gl_FragColor = gl_Color; } Nützliche Infos: http://delphigl.com/script/do_...p;action=2 http://oss.sgi.com/projects/og....10.59.pdf Ich weiß, das die Exe bei YellowRider nicht läuft. Ich habs dennoch mal hier her gepostet, in der Hoffnung, das sich jemand mal für gnädig befindet, und das Example durch den Debugger jagt. Was fehlt, ist die Übergabe von Uniformparametern. Liegt daran, das das recht viele Formate sind, und ich noch keine Lust darauf hatte Weiterhin weiß ich nicht, ob ich http://wiki.delphigl.com/tutor...rial_glsl2 hier vertrauen kann, das VertexAttribute Vertexfarbe, Vertexnormal usw. löschen. Deswegen habe ich mal das Binden des Attributbuffers herausgenommen für Shader. mfg olli |
||
vertex.dreamfall.at | GitHub |
Dreamora |
Mo, Aug 15, 2005 6:50 Antworten mit Zitat |
|
---|---|---|
Jetz warst du schneller ... da wollt ich doch glatt die verwendung von Shader Programmen vorschlagen anstatt CG, da die auch in Glew drin sein sollten und glsl ja eigentlich eh die offizielle Shadersprache ist seit OpenGL 2.0.
Laufen die Frag / Vertex Programme eigentlich auf der CPU oder der GPU? (shaderprogramme sind ja GPU) Ist es eigentlich erlaubt / angebracht einen Request einzubringen? Es hat nu doch einige neue Features von OpenGL in DreiDe ... ein sehr praktisches und altes Feature fehlt jedoch noch und das wäre der Support von S3TC Texturkompression (zumindest gibts keine Flag DDD_TEXTURE_COMPRESSED oder DDD_TEXTURE_S3TC). Natürlich nur, wenn die Implementation net zu schwer wäre. *mich mit OpenGL nach wie vor net gut genug auskenn für Glew Dinge * |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Vertex |
Mo, Aug 15, 2005 13:57 Antworten mit Zitat |
|
---|---|---|
Vertex- und fragmentProgramme werden eigentlich ebenfalls in den Vertex- bzw. FragmentProzessor der GPU geladen.
Natürlich kannst du nach Features fragen. Habe mich mal mit S3TC jetzt kurz beschäftigt. Wenn ich unkomprimierte Bilddaten an OpenGL übergeben kann, und er mir das intern komprimiert, dann sehe ich eigentlich keine Probleme. Müsste dann halt die minimale Texturgröße von 1*1 auf 4*4 Texel für S3TC anheben. Könnte dann auch einen DDS Texturloader basteln mit DXT1, DXT3, DXT5 Support. Da es bei YellowRider nicht lief, habe ich nochmal ein externes Sample geschrieben: Code: [AUSKLAPPEN] editiert
test.vs: Code: [AUSKLAPPEN] editiert
test.fs: Code: [AUSKLAPPEN] editiert
(Der lange Code wird dann wieder gelöscht, wenn alle geht) Wäre sehr verbunden, wenn jemand das mal mit seiner neuen Grafikkarte testen kann. Sollte ein Fehler auftauchen, wäre es auch gut, wenn er mir die Stelle nennt. Wenn alles funktioniert, sollte ein weißes rotierendes Dreieck zu sehen sein. Der Code benötigt nciht das DreiDe Modul. mfg olli |
||
vertex.dreamfall.at | GitHub |
Plasma(alt)Betreff: lol |
Mo, Aug 15, 2005 16:29 Antworten mit Zitat |
|
---|---|---|
der typ ist irre
mach weiter vertex !!! |
||
DIV is dead ! |
bruZard |
Mo, Aug 15, 2005 16:37 Antworten mit Zitat |
|
---|---|---|
Also die 2.53 schmiert mir bei Deinem letzten Test ab.
Bei "Shader = New TShader" will er auf ein NULL Objekt zugreifen. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group