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

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

11

24.01.2015, 01:30

Extensions sind ja seit 3 obsolet und auch nicht nötig. Aufräumen könnten sie aber wirklich mal, es gibt mehr "Objekte" (glGet*Buffer()) als nötig und einige redundante Funktionen.
Vom funktionalem Design müssen sie aber imo nicht abweichen, so ist das ganze zu C kompatibel und in C++ lässt sich das ganze mit wenigen "Handgriffen" abstrahieren.

Vorgeschlagen habe ich OpenGLory :D

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

12

24.01.2015, 13:41

Sie sind notwendig, auch sinnvoll (für einige Dinge) und keineswegs obsolet.
Extensions ermöglichen es, auf mehr Features zugreifen zu können und nicht durch alte Treiber, ein altes Betriebssystem(ähem. DirectX) oder durch das Fehlen von anderen (für mich aber unwichtigen) Features abgehalten zu werden. Alle neuen Features der Core Versionen stehen auch als identische ARB Extensions zur Verfügung. Es ist damit einfach möglich, einzelne neue Funktionen in einen Renderpfad zu integrieren. Diese sind nämlich teilweise deutlich eher verfügbar. Außerdem gibt es herstellerspezifische Extensions die Zugriff auf Herstellerspezifische Features erlauben. Und dabei die Sache meistens so einfach: Wer das nicht braucht, nutzt es nicht.

Außerdem gibt es einige Extensions, die bis heute(anscheinend aus rechtlichen Gründen) nicht in den Core gewandert sind, obwohl wohl keiner mehr darauf verzichten wollen würde. Anisotrope Texturfilterung zum Beispiel. Ubiquitous Extension

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

24.01.2015, 13:48

Extensions ermöglichen es, auf mehr Features zugreifen zu können und nicht durch alte Treiber, ein altes Betriebssystem(ähem. DirectX) oder durch das Fehlen von anderen (für mich aber unwichtigen) Features abgehalten zu werden.
Da bin ich aber gespannt, wie Du Extensions nutzen willst, die der Treiber nicht anbietet, weil er veraltet ist :huh:
Oder hast Du Dich da gerade etwas unglücklich ausgedrückt?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

14

24.01.2015, 14:17

Heutzutage haben zum Beispiel gibt es bereits sehr viel Unterstützung für NV_TEXTURE_BARRIER(anders als der Name vermuten lässt nicht bloß bei Nvidia) aber noch wenig Unterstützung für ARB_TEXTURE_BARRIER(Das ist die Extension die in OpenGL 4.5 zum Core gehört und damit ab 4.5 garantiert zur Verfügung steht)
Man kann nur hoffen, dass die Core Variante durch neue Treiber irgendwann überall verfügbar wird, wo momentan schon Unterstützung für die NV-Variante gegeben war. (für vollständiges 4.5 dagegen sicher nicht, da sind einige Karten einfach zu alt - das war mein anderes Argument mit den Features)

Wenn man also die alte Extension nutzt, kann man in dem Fall (wesentlich) mehr Treiber erreichen.
So meinte ich das. ;)

Die Nutzung sollte man natürlich im Einzelfall entscheiden. In dem Fall ist es zum Beispiel sehr einfach mit einem einzigen if-Statement möglich, beides zu unterstützen. Also warum nicht?

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

15

24.01.2015, 15:04

Und dafür nur auf ~20% der auf Desktop verbauten GPUs lauffähig? Dann doch lieber DX12, das vermutlich konzeptuell ne Menge genauso macht wie Mantle.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

16

24.01.2015, 16:16

Nvidia und Intel steht es frei, auf ihren Grafikkarten und den Treibern Mantle zu implementieren. AMD ist da nicht so asozial wie Nvidia.

EDIT:
Hab schon vor ein paar Tagen OpenEye vorgeschlagen.


Dazu wirds nie kommen.

Aha, und wieso?
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

24.01.2015, 16:42

lol? Ich hoffe mal sehr, dass du nur rumtrollst...

Mantle kann die Lösung sein. Kein DirectX mehr was Microsoft gebunden ist. Und Mantle ist lauffähig auf allen OS. Und auf allen GPUs.

Mantle ist im Moment afaik nur lauffähig auf Windows PCs mit AMD Hardware ab Southern Islands oder besser und nichtmal frei verfügar...

Aber wir eiern mit OpenGL rum wenn es um Platformunabhängigkeit geht und DirectX wenn es um Microsoft geht. Also bitte. Sag mir ein Nachteil von Mantle der nicht künstlich produziert wird. Mir fallen nur Vorteile ein. Auch wenn DirectX und OpenGL nun andere Wege gehen (müssen), so wären beiden Technologien obsolete.

OpenGL ist in der Praxis genauso plattformabhängig und über Mantle kann im Moment wohl kaum jemand urteilen, da du als Normalsterblicher an das Ding gar nicht rankommst. Das tolle an Mantle ist, dass es wohl einen guten Schubser in die richtige Richtung geleistet hat. Mit Direct3D 12 und OpenGL Next wird Mantle aber obsolet und das ist voll ok so. Es hat seinen Zweck erfüllt...

Nvidia und Intel steht es frei, auf ihren Grafikkarten und den Treibern Mantle zu implementieren. AMD ist da nicht so asozial wie Nvidia.

Aha, was tut Nvidia denn?

Multithreading API
Low overhead driver
CPU entlastung (bottleneck killer)
Full featured API

ich denke, wenn alle nicht so geldgierig wären, so könnte man einen gemeinsamen Standard finden.

Ziemlich verwirrte Liste an Buzzwords, die du da kompiliert hast; aber was auch immer; inwiefern ist denn "Geldgier" hier ein Problem? Genau das Gegenteil ist doch der Fall!? Ohne Unternehmen wie AMD, Nvidia, Intel etc. mit kapitalistischen Interessen hätten wir sowas wie für jedermann erschwingliche consumer Grafikhardware heutzutage wohl vermutlich gar nicht und Microsoft war mit DirectX in den letzten 15 Jahren die treibende Kraft hinter allem, was sich in dem Sektor so abgespielt hat...

Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von »dot« (24.01.2015, 17:12)


Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

18

24.01.2015, 17:54

Mantle soll aber (soweit man das überhaupt als Normalsterblicher mitbekommt) die Funktionen einer modernen AMD GPU 1:1 anbieten.
D.h. Nvidia und Intel müssten in einem Mantletreiber ggf. doch etwas mehr Logik implementieren falls ihre Chips etwas anders implementieren. Das würde wieder Overhead auf der CPU bedeuten und daher wahrscheinlich geringere Frameraten in einigen Tests. Und dann heißt es AMD's GPUs wären besser. Darauf lassen sich die beiden sicher nicht ein.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

19

24.01.2015, 18:04

Grundsätzlich wäre ich auch für einen gemeinsamen Standard, dann brauche ich mich auf Linux nicht mehr über Dx Spiele aufregen die ich evt. doch gerne gespielt hätte. Dx wird auch größenteils durchs Marketing so oft benutzt, obwohl es nicht unbedingt besser ist oder sinnvoll wäre (bis auf die DX_GESMSACHE_MIT_DI_DINGER :D und einer OOP API).

Solange AMD keine Treiber schreiben kann (ernsthaft, nicht mal die für Windows sind so gut wie die von nvidia) wird das mit Mantle sowieso nichts. Die sollen erstmal dafür sorgen dass deren Karten überhaupt auf allen Plattformen absturz frei laufen.

Mit dem "obsolet" meinte ich nicht jede einzelne Extension, aber es ist nicht mehr wirklich notwendig. Und man kann bei einem Spiel ja wohl >= 3.x fordern, damit hätte man dann alles. Dx Spiele unterstützen ja auch kein Dx 6 mehr.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

20

24.01.2015, 18:27

Irgendwie wird oft ziemlich was verdreht in Diskussionen. Sprich ob man dies oder das gesagt hätte.

Ich seh da oben Volltextzitate, weiß nicht, was man dabei groß verdrehen könnte. Es steht dir frei, darauf einzugehen und die von dir geäußerte Meinung zu vertreten...

Naja. Bei der einen Sache kannst du durcheinandergekommen sein weil der Standpunkt sicherlich nicht eindeutig war.

Aha, was war der Standpunkt denn dann, bzw. inwiefern unterscheidet er sich von meiner Interpretation?

Es geht darum, dass Mantle alles vereint.

Du scheinst viel mehr über Mantle zu wissen, als die meisten Menschen, die ich bisher so getroffen hätte (und ich hab mich schon mit Leuten drüber unterhalten die, sagen wir mal, Ahnung von dem Ding haben, möglicherweise, weil sie mit einem gewissen Unternehmen assoziiert sind). Was vereint es denn alles?

NVidia macht kein grosses Geheimnis daraus, dass sie ein wenig anders gepolt sind wenn es um gemeinsame Standards geht.

Hast du da ein Beispiel für mich, ich wüsste gerade nicht, von was du redest.

Brauchen wird wirklich ein neues DirectX ?
Technologien die nur durch starkes Marketing aufrechtgehalten werden können, finde ich immer sehr grenzwertig.

Der Grund für die weite Verbreitung von Direct3D hat nichts mit Marketing zu tun, sondern damit, dass Direct3D von etwa 2000 bis 2008 die einzig technisch relevante API war und bis wohl zumindest ca. 2012 bezüglich technischer Entwicklung den alleinigen Ton angegeben hat. OpenGL war praktisch tot, hat gerade eben irgendwie noch die Kurve gekratzt, und wird aus verschiedenen Gründen nun langsam wieder ein wenig interessant, nachdem es endlich zumindest featuremäßig zu Direct3D aufgeschlossen hat. Es gibt dennoch viele, rein technische Gründe, die die Verwendung von OpenGL zur Qual machen, jeder, der sich täglich mit OpenGL rumschlagen darf, kann wohl ein Lied davon singen. Nachdem du die Entwicklungen der letzten 15 Jahre offenbar selbst nicht direkt mitgemacht hast, schlage ich vor, dass du dich einfach mal ein wenig mit der Geschichte von Grafik APIs in diesem Zeitraum auseinandersetzt, bevor du hier wild mit merkwürdigen Aussagen um dich wirfst. Eine sehr gute Zusammenfassung findest du in diesem Stackoverflow Posting: http://programmers.stackexchange.com/a/88055

Dx wird auch größenteils durchs Marketing so oft benutzt, obwohl es nicht unbedingt besser ist oder sinnvoll wäre (bis auf die DX_GESMSACHE_MIT_DI_DINGER :D und einer OOP API).

siehe oben

Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von »dot« (24.01.2015, 20:16)


Werbeanzeige