Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

1

11.08.2022, 18:40

GL UI

Hi,

jeder der jetzt nicht auf gekaufte 3d Motoren zugreift, hat einen langen Weg der Entwicklung hinter sich, am Ende aller Lösungen entsteht jedoch eine schlimme
Realität, denn man hat keine UI . Sicher kann Hinz und Kunz ein Bild laden und paar Buttons anzeigen. Aber eine Dynamische UI sah ich bisweilen nur bei WOW.(WorldOfWarCraft)

Ich bin auch ein großer "Lua" (Mond Scriptsprache) fan über die Jahrzehnte geworden.

Es ergeben sich fünf Möglichkeiten für den Zurückgeblieben Entwickler:

1) Man lässt lieber lauter GDI basierende Bedienelemente erscheinen.
Vorteil : Kein Zeichnen und Umschalten in die Orthographische Darstellung nötig. Alle Bedienbarkeiten sind vorhanden),
Nachteil : kein richtiges Game-Flair mit Windows Standard Elementen in separaten oder überlappten fenstern.
2)
Man hat einen ganzen Puzzelkasten voller Buttons und pixelt wie ein Wilder immer neue Controls hin und her bis zum Wahnsinn.
Vorteil : Buttons auf Bildern blitten ist einfach.
Nachteil : Am ende steht ein Chaos das schnell zur Lebensaufgabe werden kann bei größeren Projekten.
3)
Man hat Verstanden das eine generative UI mit einer Scriptsprache die gesamte Bedienung bis hin zu Einsteller -Menüs usw. einen hohen Entwicklungsaufwand
mit sehr guter Planung benötig , stellt man fest das dies rund 1-2 Jahre dauert.
Vorteil Universell verwendbar für alle GL Projekte.
Nachteil Hoher Entwicklungsanteil > 1Jahr
4)
Man fragt im Forum ob es gut ist wenn viele ein Gemeinschaftsprojekt starten, wo eine UI für alle GL- Herauskommt.
Vorteil : Jeder macht seins
Nachteil : Wird's gemacht dauert es länger als 2 Jahre ^^

5) Man verwendet dx und deren ui oder UnrealEngine
Nachteil Kein Entwickler nötig, macht der Grafiker gleich mit ^^
Vorteil man lässt es ganz sein und spielt WOW oder was immer ^^


https://mein-mmo.de/mmorpg-ohne-ui-119/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KahnSoft« (11.08.2022, 18:58)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

11.08.2022, 18:50

6) Man verwendet eine fertige UI-Bibliothek, die sich leicht an jeden Renderer anpassen lässt. Nur mal als Beispiel, es gibt hunderte: https://github.com/Immediate-Mode-UI/Nuklear

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

3

11.08.2022, 19:01

In dem Moment, wo das Spiel dann viele nutzen, werden Sie es Analysieren, und dann wirst Du dafür bezahlen.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

11.08.2022, 21:44

Du musst natürlich eine Bibliothek mit einer für dich passenden Lizenz suchen. Die von mir verlinkte ist "Public Domain", d. h. gratis und du hättest keinerlei rechtliche Probleme damit, sie in einem kommerziellen Produkt zu nutzen.

Jonathan

Community-Fossil

  • Private Nachricht senden

5

12.08.2022, 00:19

In dem Moment, wo das Spiel dann viele nutzen, werden Sie es Analysieren, und dann wirst Du dafür bezahlen.

Die Lizenz gilt ja ab dem Moment, wo du die Bibliothek runterlädst. Wenn zu dem Zeitpunkt die Bestimmungen ok sind, kann die der Anbieter später nicht einfach ändern, davor muss man also keine Angst haben.
Lieber dumm fragen, als dumm bleiben!

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

6

12.08.2022, 11:41

Nuklear UI Integration part1

Hallo zusammen,

also habe ich der Gerät mal heruntergeladen, wie neumodisch üblich nun ohne spezifische Solutions (Anderes Thema) Nach der Überführung der Lib Bestandteile in ein VS Solution, lies sich der Gerät
auch wie alle externen freunde Kompilieren, und zu einer Lib einen.

Lässt sich auch einlinken, bei dem ersten versuch eine Refrenz zu erheben, ensteht jedoch eine markante Linker fehler situation :

1>NuklearLibD.lib(nuklear_context.obj) : error LNK2019: unresolved external symbol NK_MEMSET referenced in function nk_clear
1>NuklearLibD.lib(nuklear_buffer.obj) : error LNK2019: unresolved external symbol NK_MEMCPY referenced in function nk_buffer_alloc
1>NuklearLibD.lib(nuklear_draw.obj) : error LNK2001: unresolved external symbol NK_MEMCPY
1>NuklearLibD.lib(nuklear_window.obj) : error LNK2001: unresolved external symbol NK_MEMCPY

Wahrscheinlich werden Systemgrundliegende Funktionen wie memcpy memset usw., ersetzt von defines.

Hat jemand eine Ahnung wo in der Dokumentation steht wie man die System eigenen Funktionen zu deklarieren habe ?

Zumindest lies sich die Lib problemlos kompilieren hier ein Eindruck, schade das es nicht auf anhieb lief, ich sehe schon im weiteren das der GL Context nicht übergeben werden kann.


(Link)


Danke für die Hinweise
Gruß Karsten

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KahnSoft« (12.08.2022, 15:10)


7

13.08.2022, 00:05

Hallo KahnSoft,

hast du die Dokumentation gelesen?

https://immediate-mode-ui.github.io/Nukl…l#nuklear/usage wird dir weiter helfen.

Ich hoffe ich konnte helfen.

Hannes

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

8

13.08.2022, 10:44

Hallo Hannes,

nach einigen Investigationen ist es mir nicht gelungen in meiner MFC Based Dll eine Referenz auf das nuklear zu erheben. (Div. undefined Refrences beim linken)

Der Irrgang mit CMake und Git hat halt mehr Probleme als Nutzen, denn ich musste die Bestandteile selbst kompilieren.

(Wird an jeder TU Gelehrt man nehme Git und CMake und am besten Java) Not my way soviel kann ich sagen ...

Wenn dabei unaufgelöste Symbole aufkommen, kann ich die nicht mehr behandeln. (Compilereinstellungen sollen keine rolle mehr spielen ^^)

Mir war dabei klar das ich nur das Header includen solle, und diverse Vorstellflags anwenden kann.

Außerdem läuft das voraussichtlich nicht mit einem selbst erhobenen GL Context scheinbar basiert dies auf höher gemoddede GL Versionen.

Wo wir wieder bei meiner angeblich veralteteren GLS -Ansprechung wären, und ich aus Historischen Gründen die einwandfreie Ansprechung
bis zum Ende aller Tage anwenden werde. (Und viele sind das nicht mehr nach 40 Jahren Softwareentwicklung ^^)

Also Danke für die Hilfen und Hinweise, werde da selber in die orthografische Darstellung einwirken, paar Monate bin ich durch mit einer
easy UI. Meist ist es nicht so viel wenn man nicht alle Möglichen Verfahren zur Bedienung anwenden muss. www.twitch.tv/videos/1559779881?t=0h23m44s

Gruß aus Berlin
Karsten

9

13.08.2022, 11:43

Hast du schon das hier versucht?

Zitat


This library is self contained in one single header file and can be used either in header only mode or in implementation mode. The header only mode is used by default when included and allows including this header in other headers and does not contain the actual implementation.

The implementation mode requires to define the preprocessor macro NK_IMPLEMENTATION in one .c/.cpp file before #including this file, e.g.:

#define NK_IMPLEMENTATION
#include "nuklear.h"

KahnSoft

Frischling

  • »KahnSoft« ist der Autor dieses Themas

Beiträge: 59

Wohnort: Berlin

  • Private Nachricht senden

10

13.08.2022, 12:01

Hallo Hannes, also zuerst wird auf die build *.bat verwiesen, diese will eine Python Installation, oder einen Python Parser ansprechen.
Das habe ich hier nicht, also kompiliere ich die Bestandteile zu fuß, klappt auch kommt eine lib zustande, die sich auch linken lässt solange man
keine Referenzen erhebt.

Da klappt doch schon das erstellen deren Lib mit deren Mitteln nicht, es gibt nichts böseres als eine Lib zu veröffentlichen die sich nur unter
bestimmten Infrastrukturen herleiten lässt, daher gibt es Solutions, doch das war nicht gut, es ist ja nicht multiplattform. Ein großer Fehler der
Softwareentwicklung ist es die Vorgänge soweit zu abstrahieren das man Technologie bald von Natur nicht mehr unterscheiden wird können.

Fazit unter Win nur als experte zu fuß kompilierbar, am ende mangelt es an fehlenden Referenzen, also ich habe einige "C" Libs in meinem Project darunter.
Lua SqLite 3ds , das haben wirkliche experten her gelitten, weswegen es damit auch keine Probleme gibt, selbst unter Linux.

So können das nur kleine Kreise anwenden, wenn ich das in 10 Jahren wieder kompilieren will, brächte ich eine erneute Investigation, das geht so nicht.

Das Teil ist also nicht integrationsfähig.

Aber sieht gut , schade das es daran scheitert, übrigens kann man auch GDI UI's über oder am GL Fenster erscheinen lassen https://youtu.be/BpQWE5Ye-6E

Ist halt nicht gerade eine Gaming Atmosphäre, muss ich mal sehen wie weit ich da noch warten kann und erstmal zu fuß weiter komme.

Danke für deine Hinweise
Grüße gehen raus
Karsten

Werbeanzeige