Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

OpenGL Anfängerproblem
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 23.10.2011, 23:42    Titel: Antworten mit Zitat

Steh schon wieder ziemlich auf'n Schlauch, mal wieder die VBO's zwinkern

überhaupt erstmal Objekte zu laden ist eine gute idee, daher hatte ich mir mal eben ein Wavefront OBJ Parser gebastelt (mehr schlecht als recht aber geht) und mir dann ein testformat gebastelt, recht simpel und einfach, klappt auch perfekt, nu hab ich allerdings erstmal nur die vertices und dessen index, also keine colors, texturen, normals ect...
das objekt wird korrekt geladen und angezeigt, sieht allerdings etwas doof aus nur so ganz in weiss...

Kernidee des ganzen war eigentlich zu versuchen, ein objekt mit lokalen koordinaten direkt in den VRam zu laden und später mit erweiterten funktionen mehrfach zu renden (also an anderer position, gedreht usw...)
Also um von grundauf unnötigen speicherverbrauch zu vermeiden weil man zB ein Baum mehrfach in den speicher lädt...

häng nu aber wieder mal an einem logik problem happy
um flexibel wie möglich zu bleiben, wollte ich vertex-array, normal array, textur array und was wohl sonst noch kommt alles getrennt halten und eben wie eigentlich auch im OBJ format dann so per Index alles dazu laden...

Hab nu aber gemerkt, ich kann immer nur ein indexbuffer erstellen pro objekt, wo und wie sag ich beim rendern nu aber das er nu auch noch ein texturindex dazu nehmen soll?!

Beispielcode: (vorsicht chaos)
Code:

Common Shared glGenBuffers     as PFNGLGENBUFFERSPROC
Common Shared glBindBuffer     as PFNGLBINDBUFFERPROC
Common Shared glDeleteBuffers  as PFNGLDELETEBUFFERSPROC
Common Shared glBufferData     as PFNGLBUFFERDATAPROC
Common Shared glMapBuffer      as PFNGLMAPBUFFERPROC
Common Shared glUnmapBuffer    as PFNGLUNMAPBUFFERPROC
glGenBuffers    = ScreenGLProc ("glGenBuffers")
glBindBuffer    = ScreenGLProc ("glBindBuffer")
glDeleteBuffers = ScreenGLProc ("glDeleteBuffers")
glBufferData    = ScreenGLProc ("glBufferData")
glMapBuffer     = ScreenGLProc ("glMapBuffer")
glUnmapBuffer   = ScreenGLProc ("glUnmapBuffer")



Type StaticOBJ
    V_count as Integer     'anzahl vertices
    T_count as Integer     'anzahl faces (Triangles)
   
    'pseudo methods:
    Declare Sub Load()
    Declare Sub Render()
    Declare Sub Destroy()
   
    Private:
    VBO_Vertices_id as GLuint
    VBO_Triangles_id as GLuint
End Type

'Pseudo LoadOBJ, _versuch_ ein Objekt direkt in den VRAM zu laden
Sub StaticOBJ.Load ()
    Dim F as Integer
    F=FreeFile
   
    Open "haus.FBO" for binary as #F
    get #F,,V_count
   
    Dim Temp as any ptr
   
   
    glGenBuffers(1, @VBO_Vertices_id)
    glBindBuffer(GL_ARRAY_BUFFER, VBO_Vertices_id)
   
    glBufferData (GL_ARRAY_BUFFER, (V_count*3)*4, NULL, GL_STATIC_DRAW)
   
    Temp = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY)
    for v as integer=0 to V_count-1
        get #F,,cast(single ptr, Temp)[0+(v*3)]'=vx
        get #F,,cast(single ptr, Temp)[1+(v*3)]'=vy
        get #F,,cast(single ptr, Temp)[2+(v*3)]'=vz
    next v
   
    get #F,,T_count
    glGenBuffers(1, @VBO_Triangles_id)
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, VBO_Triangles_id)
    glBufferData (GL_ELEMENT_ARRAY_BUFFER, (T_count*3)*4, NULL, GL_STATIC_DRAW)
   
    Temp = glMapBuffer(GL_ELEMENT_ARRAY_BUFFER,GL_WRITE_ONLY)
    for t as integer=0 to T_count-1
        get #F,,cast(uinteger ptr, Temp)[0+(t*3)]
        get #F,,cast(uinteger ptr, Temp)[1+(t*3)]
        get #F,,cast(uinteger ptr, Temp)[2+(t*3)]
    next t
   
    close #F
    glUnmapBuffer(GL_ARRAY_BUFFER)
    glUnmapBuffer(GL_ELEMENT_ARRAY_BUFFER)
    glBindBuffer(GL_ARRAY_BUFFER, 0)
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)
End Sub

Sub StaticOBJ.Render()
    glBindBuffer(GL_ARRAY_BUFFER, VBO_Vertices_id)
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, VBO_Triangles_id)   
    glEnableClientState(GL_VERTEX_ARRAY)
    glVertexPointer(3, GL_FLOAT, 0, 0)
   
    glDrawElements(GL_TRIANGLES, T_count*3, GL_UNSIGNED_INT, 0)

    glDisableClientState(GL_VERTEX_ARRAY)   
   
    glBindBuffer(GL_ARRAY_BUFFER, 0)
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)   
End Sub

Sub StaticOBJ.Destroy()
    glDeleteBuffers (1,@VBO_Vertices_id)   
    glDeleteBuffers (1,@VBO_Triangles_id)
    V_count=0
    T_count=0
End Sub


Dim test as StaticOBJ
test.Load()

do
    if multikey(&h01) then exit do
   
    gltranslatef (0,0,-200)
   
    'Render scene
    test.Render()
    screensync
    flip
    '!' Die vorherige Szene wird vom Bildschirm gelöscht,
    ''  damit die neuen nicht einfach über die alten   
    ''  Objekte gezeichnet werden
    glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)

    '!' Modelview-Matrix wird wieder zurückgesetzt
    glLoadIdentity()   
loop


Edit:
Habs nu mal so versucht:
Code:

Sub StaticOBJ.Render()
    glBindBuffer(GL_ARRAY_BUFFER, VBO_Vertices_id)
    glVertexPointer(3, GL_FLOAT, 0, 0)
   
    glBindBuffer(GL_ARRAY_BUFFER, VBO_TexCoord_id)
    glTexCoordPointer(2, GL_FLOAT, 0, 0)
   
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, VBO_Triangles_id)   
   
    glEnableClientState(GL_VERTEX_ARRAY)
    glEnableClientState(GL_TEXTURE_COORD_ARRAY)
   
    glDrawElements(GL_TRIANGLES, T_count*6, GL_UNSIGNED_INT, 0)
   
    glDisableClientState(GL_TEXTURE_COORD_ARRAY)       
    glDisableClientState(GL_VERTEX_ARRAY)   

    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)   
    glBindBuffer(GL_ARRAY_BUFFER, 0)
End Sub


klappt so leider nicht, scheint auch irgendwo klar, kann ja irgendwie nur 1 GL_ARRAY_BUFFER gleichzeitig binden...

ist es überhaupt möglich das so zu machen?

der index sieht momentan so aus v1,t1,v2,t2,v3,t3...
während v1,v2,v3 im Vertices Buffer liegen und t1,t2,t3 im TexCoord Buffer, wärend der Indexbuffer eben pro triangle 6 UInts hat....

Edit2:
Mein momentanes Testobjekt:

398 Vertices * (3xSingle) = 4776Byte
1200 TexCoords * (2xSingle) = 9600Byte

400 Triangles (3*1V + 3*1T UInteger) = 9600Byte
---------------------------------------------
= 14378Byte


wenn das ganze nun nur per Voxel geht müsste ich
ja die Vertices (benutzt oder nicht) auffüllen,
also eben auch 1200 Vertex daten (NULL)

Irgendwie macht das ganze mit Index Array so keinen richtigen sinn für mich
da ich den speicherplatz ja dann eh reservieren muss könnte ich auch die
doppelten Vertices hineinschreiben was den sinn des Index Buffers irgendwie
sinnlos erscheinen lässt oO?

Häng glaub schon wieder zu lang vor dem ding hier grinsen

Edit3:
Habs nu doch noch begriffen, allerdings bin ich mir nicht ganz sicher wo mein fehler bei der Darstellung nu genau liegt...
Links OpenGL in FB, rechts Original in AC3D


_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 25.01.2013, 12:55    Titel: Antworten mit Zitat

Hallo Leutz, ich häng mich mal hier dran, sind auch Anfänger-Fragen über OpenGL, und zwar recht allgemeine.

Ich hab FB gestern erst runtergeladen und mir fehlt noch so ein wenig die Übersicht. Ich will erstmal ein Programm von mir (geschrieben in thinBasic) nach FreeBasic portieren um ein wenig mit der Sprache warm zu werden.

Da ich irgendwie keine entsprechenden dokumentierten Befehle finden kann brauch ich Euren Rat:

Wie kombiniert man in FB OpenGL 2D und 3D?

Sprich: ich will vor meiner 3D-Ansicht Text in 2D und vieleicht auch ein paar Buttons zeichnen (dafür wären Sprites vieleicht ganz brauchbar)


Also brauch ich einen Hinweis welches Tutorial ich mir dazu mal ansehen könnte oder auf welche Weise man das in FB bewerkstelligt. Die Standard-Grafik-Befehle sind doch für ein OpenGL-Fenster sicher nicht verfügbar oder?

Gibts vieleicht auch eine gut dokumentierte 3D-Engine die sich leicht implementieren lässt und Sprites und fertige DisplayList-Objekte (Meshes oder Shapes) mitbringt?

Schön wär auch zu wissen ob man Fonts auch transparent, d.h. nur Buchstaben vor/auf das OpenGL-Fenster zeichnen kann.

EDIT: Die dem Download beiliegenden Codebeispiele in

examples\graphics\OpenGL\nehe\lesson...

18, 19, 21,23,25 und 32 laufen alle nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 25.01.2013, 15:07    Titel: Antworten mit Zitat

Hast du einen richtigen Grafiktreiber (von der NVidia/AMD Seite) installiert? Die von Windows Update enthalten keinen OpenGL-Support, daher ist nur OpenGL 1.1 oder 1.2 verfügbar.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 25.01.2013, 15:50    Titel: Antworten mit Zitat

Hi,
Fehler tritt unter FB 0.24 auf.

lesson18.bas ersetze object -> objekt (ist nur ein Variablenname)

lesson19.bas 'Notlösung am Anfang einfügen:
#ifndef GL_BGR
#define GL_BGR &H80E0
#EndIf

lesson21.bas ersetze OBJECT -> OBJEKT

lesson23.bas ersetze object -> objekt (ist nur ein Variablenname)

lesson25.bas ersetze OBJECT -> OBJEKT

lesson32.bas ersetze object -> objekt



EDIT: Bis auf lesson19.bas hilft auch an den Anfang des Quellcodes
Code:
#Undef object
zu setzen.

EDIT: in lesson19.bas hilft:
Code:
#Include Once "GL/glext.bi"
dort sind die fehlende Definitionen.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.


Zuletzt bearbeitet von volta am 29.01.2013, 18:15, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 25.01.2013, 16:32    Titel: Antworten mit Zitat

lächeln Danke volta. Jetzt gehts. Vieleicht hätt ich auch selber drauf kommen können aber- wie gesagt: es ist grad viel Neues was da auf meine Birne einprasselt.

Irgendwie hätt ich gerne noch einen Tip zum Thema 3D-Engine oder besser noch eine GameEngine (wegen Sound,Input & 2D-Intergration)

Traumhaft wäre eine gute übersichtliche deutsche Dokumentation dazu.

Das beiliegende Allegro will leider auch nicht so wie es soll- ich bin langsam etwas frustriert vom Zusammensuchen und Herunterladen der verschiedensten Sachen- wie soll ich da die Übersicht behalten was ich nachher meinem Programm beilegen muss?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 25.01.2013, 18:02    Titel: Antworten mit Zitat

Onkel Otto B.Kloppt hat Folgendes geschrieben:
- ich bin langsam etwas frustriert vom Zusammensuchen und Herunterladen der verschiedensten Sachen- wie soll ich da die Übersicht behalten was ich nachher meinem Programm beilegen muss?
So ist es beim programmieren, ein Baukasten und kein Fertigmodell grinsen .
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 25.01.2013, 18:49    Titel: Antworten mit Zitat

Hmm. Dann gibts hier also bloss einzelne Bausteine und den Baukasten muss ich mir selbst zusammensuchen. Hätt ja sein können das das schon jemand der vielen FB-User gemacht hat. Oder sind das alles inaktive User-Accounts die sich nur einmal angemeldet und frustriert alles hingeworfen und FB wieder gelöscht haben. Ich könnt's verstehen...

Als FB-Noob fällt es recht schwer den Einstieg zu finden wenn man überall nur Brocken oder abwertende Kommentare vorgeworfen bekommt.

Seid Ihr hier vieleicht alle nur "Überlebende" eines längst untergegangenen Schiffes? Ist FB längst tot und wird nur von denen in der Schwebe gehalten die das noch nicht registriert haben oder wollen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 25.01.2013, 18:55    Titel: Antworten mit Zitat

Hi,
ja, alles Zombies, Untote hier, die erst Erlösung finden wenn Freebasic perfekt ist R.I.P.

lachen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 25.01.2013, 19:17    Titel: Antworten mit Zitat

Das perfekte wird's wohl nicht geben. Es ist einfach zu gross und hat zu viele tote Ecken weil keiner mehr weiss wer damals was programmiert hat. Vieleicht ist es an der Zeit ein komplett Neues und Zeitgemässeres zu schreiben. Evtl. den Sprachkern und die Syntax beizubehalten aber auf jegliche Abwärtskompatibilität zu verzichten um nicht an alte, umständliche Strukturen gekettet zu sein und mal ordentlich auszumisten. Ich denke FB hat das dringend nötig denn sonst werden sich User auf einer anderen Plattform treffen und dort eine junge, sportliche Basic-Sprache entwickeln mit der FB einfach nicht mithalten kann weil FB viel zu alt und fett ist.

Irgend so ein C-Programmierer der Ahnung und Lust hat auf Basis irgendeiner der unzähligen frei erhältlichen Engines ein gutes Basic für seinen 9jährigen Sohn zu erstellen wird vieleicht den Anfang machen. Wenn er dazu Ideen braucht kann er sich ja bei mir melden Zunge rausstrecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 25.01.2013, 20:11    Titel: Antworten mit Zitat

Onkel Otto B.Kloppt hat Folgendes geschrieben:
Hätt ja sein können das das schon jemand der vielen FB-User gemacht hat.

Das mit Sicherheit. Aber ...

  1. nicht jeder, der etwas kann/weiß, wird auch im Forum/Portal aktiv und teilt sein Wissen. Von vielen sehr aktiven Usern bekommen wir hier im Forum leider nie etwas mit.
  2. FreeBASIC bietet bereits "von Haus aus" recht komfortable Funktionen für die plattformübergreifende 2D-Grafikprogrammierung (BLOAD, GET/PUT, PSET, LINE, CIRCLE, PAINT, ...). Damit begnügen sich viele und sparen es sich dementsprechend, sich in zusätzliche Libs einzuarbeiten. Daher ist das Knowhow bzgl. externer Grafiklibs a la SDL in der FreeBASIC-Community etwas rarer als vielleicht bei C-Spieleprogrammierern.
  3. nicht jeder hier programmiert überhaupt Spiele oder gar 3D-Anwendungen. Das ist auch egtl. keine "Kernkompetenz" von FreeBASIC, sondern FB versteht sich eher als universell einsetzbare Sprache ohne Schwerpunkt auf Game-Dev/3D etc. Wer sich (fast) ausschließlich für Spiele und 3D-Grafik interessiert, landet meistens eher bei BlitzBASIC (das mal so hinter vorgehaltener Hand).
  4. die deutschsprachige Community ist natürlich nur eine kleine Schnittmenge der FreeBASIC-Weltgemeinde. Wenn sich hier zu einer Frage keine Antwort erarbeiten lässt, kann es sich auch lohnen, in der internationalen Community auf englisch zu fragen, um ein größeres Publikum zu erreichen.


Zitat:
eine junge, sportliche Basic-Sprache entwickeln mit der FB einfach nicht mithalten kann weil FB viel zu alt und fett ist.

Das sehe ich nicht so. FreeBASIC ist erst wenige Jahre alt und bietet gegenüber QBASIC ganz erhebliche Vorteile. Man muss bedenken, dass bis zum Aufkommen von FreeBASIC noch viel mit QB gemacht wurde. Mit der Zeit hat eine regelrechte inoffizielle Ablösung stattgefunden.

FreeBASIC konkurriert nicht primär mit Gamemaker-Tools, BlitzBASIC, MS SmallBASIC o. ä., sondern könnte eher als luxussaniertes QBASIC betrachtet werden. Doch auch gegenüber VB6 hat es Vorteile, einmal bei der Syntax, aber auch was die Performance angeht. Der Nachteil von FreeBASIC ist, dass es in FB genauso umständlich ist, ein GUI zu verwenden, wie wenn man in C programmiert. Bei den Grafiklibs sieht es sehr ähnlich aus. Da sind die FreeBASIC-Bindings quasi identisch mit dem jeweiligen C-API.

und bzgl. neu anfangen: FreeBASIC ist ein Open Source Projekt. Das heißt, es steht jedem frei, der Ahnung von der Materie hat, Verbesserungen und Erweiterungen beizusteuern. Wenn du dich z. B. mal daran machen möchtest, ein Standard-Feature-Set für 3D-Grafikprogrammierung für die Sprache vorzuschlagen bzw. zu konzipieren, wird man dich mit offenen Armen empfangen. zwinkern
Sprich, es braucht bei so einem Open-Source-Projekt keinen radikalen Umsturz oder sowas, sondern wer etwas verbessern oder modernieren möchte, kann das einfach tun. zwinkern

Zitat:
hat zu viele tote Ecken weil keiner mehr weiss wer damals was programmiert hat

Natürlich ist es wie bei vielen Open-Source-Projekten aber auch so, dass dem ein oder anderen Communityprojekt mit der Zeit die Mitarbeiter abhandenkommen (z. B. bei der IDE FBEdit in Teilen der Fall). Während das FBEdit-Projekt im Moment etwas brachliegt, entsteht auf der anderen Seite aber gleichzeitig ein neues, frisches IDE-Projekt, das mit viel Engagement vorangetrieben wird (wxFBE).

Alle, die etwas zu FreeBASIC und dem "Ökosystem" drumherum beisteuern, machen das freiwillig in ihrer Freizeit. Wenn sich die Interessen, das Berufsleben oder andere Lebensumstände verändern, verschwinden früher sehr aktive Leute wieder von der Bildfläche. Das ist absolut normal bei OSS-Projekten, vor allem bei solchen, in die keine kommerziellen Interessen involviert sind. Niemand verdient mit FreeBASIC Geld und dementsprechend hat auch niemand ein "Anrecht" auf Support/Updates/... usw. Das alles passiert nur, weil Leute Spaß daran haben, diese Dinge der Allgemeinheit zu schenken. Und wenn sie das nicht mehr tun, hat man als User eben nur die Möglichkeit, zu hoffen, dass jemand anderes weitermacht, oder aber man nimmt es selber in die Hand. Dank Open-Source-Lizenz problemlos möglich! lächeln

Das ist eben ein fundamentaler Unterschied gegenüber kommerziellen Produkten, die mitunter lange Life-Cycles haben und dauerhaft und durchgängig gepflegt werden.

Zitat:
nur Brocken oder abwertende Kommentare vorgeworfen bekommt.

Ja, es gibt hier leider User, die manchmal unangemessen und harsch auf Fragen reagieren. Ich finde das auch absolut nicht in Ordnung und habe schon oft deswegen "Verhandlungen" geführt. Diejenigen, die sich so verhalten, sind einschlägig bekannt... zwinkern Das musst du am besten einfach ignorieren, wenn mal eine blöde oder gehaltlose Antwort kommen sollte.

Ich versuche meistens, so ausführliche und hilfreiche Antworten wie möglich zu schreiben. Wenn du im QB-/FB-Unterforum schaust, findest du viele Postings mit individuell erstellten Beispielcodes und Erläuterungen dazu. Wir bemühen uns, das Forum hilfreicher und freundlicher zu gestalten. zwinkern
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 25.01.2013, 20:50    Titel: Antworten mit Zitat

Naja gut. Ich kann halt in Basic Programmieren aber ich kann keinen Basic-Compiler oder sowas erstellen. Ich kann mit Vertizen und Matrizen jonglieren aber nicht die 3d-Engine dafür bauen. Klar- sobald ich das Basic habe mit dem ich das kann werde ich anderen Benutzern von mir programmierte Tools oder Spiele zur Verfügung stellen. Wobei ich eben eher Tools programmieren möchte. Z.B. Mesh- oder Terrain-Editoren die dann Daten direkt als Code in der Sprache speichern mit der sie geschrieben sind so das man seine 3D- Daten direkt als Listing speichern und im selben Basic verwenden kann.


Zitat:
nicht jeder hier programmiert überhaupt Spiele oder gar 3D-Anwendungen. Das ist auch egtl. keine "Kernkompetenz" von FreeBASIC, sondern FB versteht sich eher als universell einsetzbare Sprache ohne Schwerpunkt auf Game-Dev/3D etc. Wer sich (fast) ausschließlich für Spiele und 3D-Grafik interessiert, landet meistens eher bei BlitzBASIC (das mal so hinter vorgehaltener Hand).


Das würd ich nicht sagen. Ein Basic sollte schon etwas mehr können als Blitz.

Ich hatte gehofft jemand hätte den Gedanken FreeBasic on-Top auf eine gute GameEngine zu montieren, Sound+Input einzubauen und das ganze als FreeBasic-3d-Paket zu schnüren schon gehabt.
Ich hoffe einfach irgendwie über ein gutes Basic zu stolpern welches meine Anforderungen erfüllt damit ich damit was anfangen kann. Die Suche dauert nun schon Jahre und ist erfolglos geblieben.
Die beiden Kandidaten die dem Ganzen bisher am Nächsten kamen waren PureBasic und thinBasic aufgrund der mitgelieferten Bibliotheken. Basic4GL war auch recht nahe dran (scheint leider tot zu sein). Blitz und Dark haben voll danebengetroffen. Visual Basic 6.0 ist leider etwas zu veraltet ist aber bisher das genialste Basic das ich kenne- vb.net ist mir zu gross, plump, unübersichtlich.

MS Small Basic ist ohne PlugIns (sie nennen es "extensions") so gut wie nutzlos. Es ist kein Basic sondern ein ganz erbärmlicher Krüppel der ohne diese Krücken nicht gehen kann und auch mit Extensions nicht weit kommt. Zudem hat man dort für 3D den 32Bit Support bereits eingestellt.

FB hab ich erst gestern zum Spass angetestet - wegen fehlender dynamischer UDT-Subset-Arrays ist es eigentlich sowieso von vornherein disqualifiziert. Die gibts wohl leider nur bei vb. Alle anderen scheinen's nicht hinzukriegen und zeigen mir als Benutzer das sie dazu nicht in der Lage sind. Das betrifft besonders die kommerziellen Basics - ich würde doch keine Programmiersprache kaufen von der ich genau weiss das derjenige der sie geschrieben hat es irgendwie nicht richtig hinbekommt.

Irgendwo in diesem www-Universum muss es doch Basic-User geben die ebenfalls das Basic ihrer Träume noch nicht gefunden haben...also das Wunsch-Basic. Alptraum-Basic gibts genügend
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Quisslich



Anmeldungsdatum: 09.09.2012
Beiträge: 38

BeitragVerfasst am: 26.01.2013, 10:19    Titel: Antworten mit Zitat

Onkel Otto B.Kloppt hat Folgendes geschrieben:

Das würd ich nicht sagen. Ein Basic sollte schon etwas mehr können als Blitz.

Interessant. Warum sollte das so sein? Die diversen Blitz-Produkte sind schließlich letztendlich kostenpflichtig und FreeBasic ist, wie es der Name schon sagt, frei.

Aber wenn du auf der Suche mit guter 2D/3D-Unterstützung bist könnten folgende Basic-Derivate noch interessant sein für dich:

GLBasic:
auf www.glbasic.com
einfache Syntax, rudimentäre OOP-Fähigkeiten. Kann alle möglichen Plattformen bedienen (Windows, Linux, Mac, IOS, Android, GPX2) und demnächst wohl auch HTML5+Javascript Ouput.
Ist kostenpflichtig. Habe einige Zeit damit rumgespielt und es hat auch Spaß gemacht.

NuclearBasic:
auf http://www.nuclearglory.com/
das könnte deinen Anforderungen wohl noch näher kommen vom Leistungsumfang (zumindest soweit man den Werbungen glauben schenken darf lächeln). Habe es allerdings noch nicht getestet. Ist, so viel ich weiss, Windows only.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 26.01.2013, 12:09    Titel: Antworten mit Zitat

Vielen Dank Quisslich.
GLBasic kannte ich schon - da sind's wieder die UDTs und fehlende dynamische Felder wofür ich nicht bezahlen würde.
Das Nuclear kannte ich noch nicht,daher Danke-Danke-Danke für den Tipp - aber nach einem Blick in die Hilfe (dies natürlich leider nur auf englisch gibt und sich erst nach Installation des Trials einsehen lässt = ein Minuspunkt) sah ich das UDTs wohl nicht mal UDT-subTypes und erst recht keine dynamischen Arrays unterstützen (grosser Minuspunkt), beim weiteren Blättern in der Hilfe stiess ich auf unzählige "undocumented Functions" = KO-Kriterium. Ich kauf keine Beta! Ausserdem brauchts .net-Framework und ewig um zu starten. Leider auch nichts für mich.

Es scheint auch ein ähnlich "cleveres" Geschäftsmodell wie PureBasic zu sein: man bezahlt eine Version die eigentlich Beta-Status hat, meldet der Company die Bugs und darf sich, sobald es eine neue Version gibt diese dann kaufen... wahrscheinlich nicht ganz so dreist wie bei Faintasie-Soft, die jedes Mal wieder den vollen Preis für ein Update verlangen (79€) und Ihre Software über Dritte (dtp entertainment AG) mit falschen Versprechen vertreiben ("einmal bezahlen = lebenslanges Anrecht auf Updates" etc.) - sich dann auf ein Missverständnis oder mit der Vertirebs-Gesellschaft nicht zu tun zu haben berufen blablabla
- aber wie gesagt, bei einer kommerziellen Software erwarte ich das das Memory-Management (also das verwalten meiner Variablen) bereits vom Basic übernommen wird und ich keine Workarounds mit Pointern auf allocated memory-Blocks basteln muss. Da hakt es eben auch: es muss in dem Fall wenigstens die Möglichkeit geben Memory zu reservieren und zu peeken und poken.

Sorry, ich bin inzwischen vieleicht etwas angefressen, skeptisch und auch wählerisch - aber schliesslich verwendet man eine Programmiersoftware über viele Stunden am Stück und da muss es auch irgendwie Spass machen und nicht ständig frustrieren.

Wir sind hier mittlerweile total OT denn eigentlich hatte ich heimlich gehofft das jemand antwortet der weiss wie man easy eine der freien Engines wie Irrlicht/Ogre usw in FB implementieren kann oder auf einen Entwickler zu treffen der gerade eine Idee sucht oder dabei ist, auf eine dieser Engines eine Programmierumgebung zu erstellen um diese Engine mit Basic-artigen Befehlen und Routinen steuern zu können.

Das Resultat sollte dann in etwa so aussehen/funktionieren wie das bereits 2001 mit dem PC-Spiel Morrowind ausgelieferte TES-Construction-Set. Ich weiss, das ist uralt: Umso mehr wundert es mich das es noch kein derartiges Visuelles 3D-Basic gibt. Die Suche dauert an...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 26.01.2013, 12:30    Titel: Antworten mit Zitat

Zitat:
denn eigentlich hatte ich heimlich gehofft das jemand antwortet der weiss wie man easy eine der freien Engines wie Irrlicht/Ogre usw in FB implementieren kann


Naja, für Irrlicht gibt es zumindest einen wrapper um diese in FB einzubinden.
Für OGRE hab ich dergleichen noch nichts gefunden aber auch nicht mehr intensiv verfolgt.
Ansonsten ist die einzig mir bekannte Engine die kaum Probleme bereitet in FB, OpenB3D (mein Fall allerdings ist sie nicht...)
Sonst gibt es Unmengen an OpenSource-Engines... schwer zu sagen wo es sich lohnt mal einen Blick drauf zu werfen... jede hat so ihren eigenen Schwerpunkt...

http://forum.qbasic.at/viewtopic.php?t=7624

Zitat:
Das Resultat sollte dann in etwa so aussehen/funktionieren wie das bereits 2001 mit dem PC-Spiel Morrowind ausgelieferte TES-Construction-Set. Ich weiss, das ist uralt: Umso mehr wundert es mich das es noch kein derartiges Visuelles 3D-Basic gibt. Die Suche dauert an...

Ich kenne das TES-Construction-Set zwar nicht, aber für mich klingt es doch mehr nach KlickiBuntiMachmal... vielleicht guckst Du Dir mal Unity oder ähnliches an?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 26.01.2013, 12:43    Titel: Antworten mit Zitat

Du kannst das englische Forum nach Irrlicht und OGRE durchsuchen, hab beides schon dort gesehen. Ich tippe auf das Libraries Unterforum, suchen musst du aber selbst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 26.01.2013, 13:28    Titel: Antworten mit Zitat

Onkel Otto B.Kloppt hat Folgendes geschrieben:
Sorry, ich bin inzwischen vieleicht etwas angefressen

*hust* Du hast berechtigterweise allen Grund wütend zu sein auf diese unfähigen Angestellten hier, die dir spontan kein 3D-Designstudio gebaut haben, wo du schon so viel Geld hier rein geste...ähh Moooment...! lachen

Sorry, aber ich versteh nicht, wieso du über die Community oder FreeBASIC angefressen bist. Deine Anforderungen sind wahrscheinlich so speziell, dass es genau das exakt Passende nicht gibt - weder in FB noch sonstwo - außer du entwickelst es selber (oder zusammen mit Gleichgesinnten).

Onkel Otto B.Kloppt hat Folgendes geschrieben:
noch kein derartiges Visuelles 3D-Basic gibt.

Ein "visuelles 3D-BASIC" ist FreeBASIC natürlich nicht, sondern eine Allzweck-Programmiersprache. Du kannst mit FreeBASIC vom eigenen Webserver über eine DVD-Sammlungsverwaltungssoftware bis zum 2D-Adventure-Spiel alles mögliche entwickeln, aber speziell als 3D-Entwicklungsumgebung ist es nicht konzipiert.
Es gibt bisher auch kein grafisches 3D-Entwicklungsstudio für FreeBASIC o. ä., sondern nur normale IDEs.
Visuelle 3D-Entwicklung ist schon ein sehr spezieller Anwendungsbereich. Ich wüsste nicht, wieso eine 3D-Design-Umgebung zum Standardfunktionsumfang einer Allzweckprogrammiersprache gehören muss bzw. woher die Information kommt, dass das zu jeder Programmiersprache (wie Variablen o. ä.) selbstverständlich dazugehört. zwinkern

Für solche speziellen Benutzungswünsche gibt es ja extra domänenspezifische Produkte, wobei wohl nicht mal BB ein visuelles 3D-Designstudio mitbringt oder?
http://www.blitzbasic.com/Products/_index_.php

Aber wie gesagt, FreeBASIC ist genauso wenig eine Game-Maker-Distribution wie FreePASCAL oder C/gcc.

Infos zu Multimedia-Bibliotheken wie BASS etc. findest du, wie MOD schon erwähnt hat, hier:
http://www.freebasic.net/forum/viewforum.php?f=14
Wenn du externe Bibliotheken von Drittanbietern verwendest, musst du dir aber natürlich dafür die Dependencies beschaffen, also unter Windows alle nötigen DLLs. FreeBASIC liefert in seinem Downloadpaket nicht die Binärdistributionen der ganzen freien Libs mit.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 26.01.2013, 13:57    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:

*hust* Du hast berechtigterweise allen Grund wütend zu sein auf diese unfähigen Angestellten hier, die dir spontan kein 3D-Designstudio gebaut haben, wo du schon so viel Geld hier rein geste...ähh Moooment...! lachen

Sorry, aber ich versteh nicht, wieso du über die Community oder FreeBASIC angefressen bist. Deine Anforderungen sind wahrscheinlich so speziell, dass es genau das exakt Passende nicht gibt - weder in FB noch sonstwo - außer du entwickelst es selber (oder zusammen mit Gleichgesinnten).
Oho..,
@Sebastian, darf ich dir meinen Spruch leihen grinsen
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Onkel Otto B.Kloppt



Anmeldungsdatum: 24.01.2013
Beiträge: 10
Wohnort: 57537

BeitragVerfasst am: 26.01.2013, 14:08    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:

Sorry, aber ich versteh nicht, wieso du über die Community oder FreeBASIC angefressen bist.



Entschuldigt bitte wenn das so rüberkam:

Ich bin angefressen von der bisher erfolglosen Suche, dem ständigen Zusammensuchen von Informationen die ich meist in englischen und/oder unvollständigen Docs herauslesen muss - wobei etwa 30% der Docs und Tuts veraltet sind oder von Vollhoschies verfasst wurden und weitere 30% so unübersichtlich das man darin nichts findet wenn man es sucht, angefressen von dem was oben beschriebene kommerzielle Sprachen anbieten und natürlich angefressen davon das ich das Development-Tool meiner Wünsche nicht habe um meine Ideen umzusetzen.

Aber ich bin nicht angefressen wegen Commmunity oder FreeBasic.

FreeBasic ist aussen vor und völlig ausser Konkurrenz. Hier kann man sich sicher bei niemandem über nichts beschweren - allenfalls einen Bug-Report an einen Entwickler adressiert abgeben.

Wie gesagt habe ich erhofft das sich in dieser Umgebung (Community) ein User herumtreibt der mir den Tipp meines Lebens gibt denn vom Prinzip her hat FreeBasic den passendsten ideologischen Hintergrund auf derartige Leute zu treffen.
Technisch entspricht es halt nicht so ganz meinen Idealen: Syntax etc. sind ok aber das nach aussen hin völlig offene Prinzip sagt mir nicht so ganz zu. Ich fühl mich wohler wenn ich in einem geschlossenen Environment schreibe - dabei habe ich das Gefühl von Übersicht und Kontrolle und kann mich gut auf mein Programm konzentrieren.

Darum benutze ich ja auch kein C-sonstwas.

Also, bitte nicht böse sein- ich wollte niemandem hier an den Karren *ERROR* und auch niemanden beleidigen sondern nur sagen wofür ich mich interessiere und was mir in etwa vorschwebt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ichhalt



Anmeldungsdatum: 25.01.2013
Beiträge: 39

BeitragVerfasst am: 14.02.2013, 19:34    Titel: Antworten mit Zitat

@Eternal_pain hast du deine benutzten gl header noch und den glext header?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 15.02.2013, 03:02    Titel: Antworten mit Zitat

ichhalt hat Folgendes geschrieben:
@Eternal_pain hast du deine benutzten gl header noch und den glext header?


Ich hab in meinen OpenGL Anfängen einiges an header und extensions probiert, was genau suchst du denn?
Benutze zZ (auch wenn ich gerade nicht viel mache) die standard-header gl.bi und glext.bi
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4  Weiter
Seite 3 von 4

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz