Software Renderer unter C/C++ programmieren!?
Guten Abend, ich möchte etwa wissen, wie hat die Firma Valve Software mit eigener Software Renderer geschafft?

Ich habe schon in C# mit SDL2 Wrapper ( DeafMan1983.Interop.SDL2 ) + sbyte* <-> string Umwandlung ( DeafMan1983.Utilities ) schon versucht, aber die Texture sieht komisch aus.

Wie hat jemand mit Texture 1:1 wie OpenGL's Texture programmiert?

Wenn ich etwa wissen möchte.

Ich habe eigene Funktionen wie EdgeFunction und DrawLine und DrawTriangle usw im Internet gefunden und getestet. ich habe mit Texture direkt SDL_Surface via Load wie SDL_LoadVMP oder IMG_Load usw... gemacht. aber die Texture sieht schlimm wenn ich als Kamera bewege wie Half-Life-Spieler, wieso ist mein Werkstück schlimm? Ich bin verzweiferlt.

Kann jemand mir helfen um Software Rendering zu erreichen?

Entschuldige mich bitte! Mein Deutsch ist bisschen nicht richtige Grammatik.... Trotzdem bin ich wirklich ein Deutscher.

Lg
< >
Menampilkan 1-9 dari 9 komentar
Bibo1 4 Sep 2024 @ 8:48pm 
Ich glaube für solche Fragen kannst Du Dich am Besten z.B bei Computerbase.de anmelden.
Da gibt's einen riesigen Forum wo viele Fachkundige unterwegs sind.
Diposting pertama kali oleh Bibo1:
Ich glaube für solche Fragen kannst Du Dich am Besten z.B bei Computerbase.de anmelden.
Da gibt's einen riesigen Forum wo viele Fachkundige unterwegs sind.
Computerbase ist absoluter Müll. Wo du wirklich Leute mit wissen findest ist auf PCGH
DeafMan1983 5 Sep 2024 @ 10:32am 
Oh ja ich weiß dass Computerbase großer Müll ist. Aber ich glaube, dass ich möglicherweise Github angestoßsen habe. Wie Quake 2`s Software Rendering. Wenn es richtig liegt oder ?

https://github.com/Panzerschrek/Q2PR/tree/master/ref_soft

Aber ich verstehe überhaupt nicht, wie komme ich direkt Pixel ( SetPixel() wie kommt Pixel von Texture ( SDL_Texture ) via streaming Texture. her. Oder ähnliche Entstehung?

Ich finde kompliziert, weil Ich Software Renderer lernen will. Grund Half-Life Software Renderer wirkt wie Quake 2 aber nicht gleich. Zum Beispiel Wasser Effekt oder Licht/Schatten Effekt brauche ich zum Optimieren. Wenn wir moderne Computer/Laptop haben, dann werden Computer/Laptop ohne Problem mit Software Renderer beschleunigen. Wenn Laptop/Computer GPU erhalten.
Diposting pertama kali oleh Bibo1:
Ich glaube für solche Fragen kannst Du Dich am Besten z.B bei Computerbase.de anmelden.
Da gibt's einen riesigen Forum wo viele Fachkundige unterwegs sind.
Computerbase? Eigentlich nimmt man für sowas stackoverflow... Oder allgemein englische foren. Da sind die leute die wirklich plan haben
Diposting pertama kali oleh 【๖ۣۜ.#נυѕтƒαмє™】:
Diposting pertama kali oleh Bibo1:
Ich glaube für solche Fragen kannst Du Dich am Besten z.B bei Computerbase.de anmelden.
Da gibt's einen riesigen Forum wo viele Fachkundige unterwegs sind.
Computerbase? Eigentlich nimmt man für sowas stackoverflow... Oder allgemein englische foren. Da sind die leute die wirklich plan haben
Gibt auch deutsche die Ahnung haben. Wie bereits erwähnt bei PCGH sollte op fündig werden
CortiWins 12 Sep 2024 @ 11:15am 
Hey. Ein Software-Renderer ist eigentlich nur ein Array aus RGB-Werten in das du selber Pixelfarben reinmalst. Für zB Windows könntest du dir ansehen wie man in der Windows-API ein Fenster aufmacht und da dann direkt reinzeichnen. Und wohlgemerkt: Du. Ich wüsste von keiner Bibliothek für Software-Rendering. Wenn du Rendering wie in 1997 willst, solltest du besser gut Englisch können und bereit sein sehr alte Bücher zu lesen.

Oder aber~ du verzichtest darauf es genau wie früher zu machen und konzentrierst dich darauf, es wie früher aussehen zu lassen.

Kein Forum und kein Typ im Internet wird dir helfen können das Schritt für Schritt zu machen. Fang bei null an, lern Stück für Stück. Kannst ruhig erstmal bei SDL2 bleiben, ist eine gute Basis zum Verständnis komplizierterer Dinge. Aber fang ganz vorne an. Nicht bei Half-Life und Quake.

Viel Erfolg!
Diposting pertama kali oleh Angry Gandalf:
Diposting pertama kali oleh ☁アンナとルカス☁:
Computerbase ist absoluter Müll. Wo du wirklich Leute mit wissen findest ist auf PCGH

Ich nehme mal an, dass man dir auf CB mitgeteilt hast dass du keine Ahnung von PCs hast und du deshalb so empfindlich reagierst, wenn man Computerbase empfiehlt?
Habe ich dich wohl getriggert oder warum so Butthurt?

Ich baue seit über 10 Jahren PCs zusammen und habe durchaus genug Erfahrung gesammelt was auch Troubleshooting angeht und vieles andere.

Computerbase ist nunmal nicht gut viele Leute in dem Forum haben wirklich keine Ahnung.

Hast du also alle User verglichen und geschaut das alle wirklich auf jeder Seite registriert sind. Ist zwar totaler Schwachsinn und das weißt du wohl auch selber .
Kargor 12 Sep 2024 @ 9:34pm 
Ich würde mir auch überlegen ob ich mir das in 2024 wirklich noch antun will. Heutzutage kann jede Grafikhardware 3D.

Generell ist "software rendering" ja ganz einfach: Du hast grafische Primitive, wie eben ein Dreieck, und malst das einfach selber. Wobei es immer auch Algorithmen gab z.B. gefüllte Kreise zu malen (sogar ohne trigonometrische Funktionen) -- ich vermute mal es gibt auch direkt Algorithmen um ein gefülltes Dreieck zu zeichnen, indem gegenüberliegende Kanten gleichzeitig berechnet werden oder so.

Wenn man das "straightforward" einfach so macht dürfte die Performance allerdings total im Keller sein; zu Zeiten von Doom & Co. hat man wahrscheinlich ein paar effizientere Algorithmen und passende Implementierungen gebastelt; ob die "Open Source" Versionen solcher Spiele das noch haben weiß ich nicht.

Aber, wie gesagt, die eigentliche Frage ist "wozu".
Terakhir diedit oleh Kargor; 12 Sep 2024 @ 9:39pm
DeafMan1983 13 Sep 2024 @ 2:30am 
Diposting pertama kali oleh Kargor:
Ich würde mir auch überlegen ob ich mir das in 2024 wirklich noch antun will. Heutzutage kann jede Grafikhardware 3D.

Generell ist "software rendering" ja ganz einfach: Du hast grafische Primitive, wie eben ein Dreieck, und malst das einfach selber. Wobei es immer auch Algorithmen gab z.B. gefüllte Kreise zu malen (sogar ohne trigonometrische Funktionen) -- ich vermute mal es gibt auch direkt Algorithmen um ein gefülltes Dreieck zu zeichnen, indem gegenüberliegende Kanten gleichzeitig berechnet werden oder so.

Wenn man das "straightforward" einfach so macht dürfte die Performance allerdings total im Keller sein; zu Zeiten von Doom & Co. hat man wahrscheinlich ein paar effizientere Algorithmen und passende Implementierungen gebastelt; ob die "Open Source" Versionen solcher Spiele das noch haben weiß ich nicht.

Aber, wie gesagt, die eigentliche Frage ist "wozu".
Danke weil ich erkunden wollte. Aber ich habe Problem mit Texturen wenn du schon Software Rendering mit Matrix4 dann passiert Software Rasterization/Renderer hässlich geworden wie wie verkratzt oder Texture wurde durch der Kamera verschoben.... und es sieht schlecht aus. wie kommt Quake's Renderer hat auch Software Rendering. Ich verstehe nicht wieso braucht SDL_Surface neben SDL_Renderer??? Ich habe github gefunden. Ich verstehe nicht wie komme ich um Texture wie im OpenGL oder Vulkan Texture bleibt ( nicht zu verschieben oder neigen.

Danke!
< >
Menampilkan 1-9 dari 9 komentar
Per halaman: 1530 50

Tanggal Diposting: 4 Sep 2024 @ 2:14pm
Postingan: 9