BBGL3D - Software-Renderer
Übersicht 

![]() |
ozzi789 |
![]() |
---|---|---|
Muss ja nicht alzu schnell sein, viel besser wäre zu lernen was im Hintergrund passiert bei 3D Anwendungen.
Um ehrlich zu sein, glaube ich kaum das dies mit mehreren Objekten Realtime fähig wird, was aber nichts schlimmes ist ![]() |
||
0x2B || ! 0x2B C# | C++13 | Java 7 | PHP 5 |
![]() |
Nicdel |
![]() |
---|---|---|
Gute Idee, ich glaube mein Laptop ist mit Software sogar schneller als mit Hardware ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
ComNik |
![]() |
---|---|---|
Hau rein, ich werde gespannt verfolgen wenn du alles etwas technischer erklärst ![]() viel glück (: |
||
WIP: Vorx.Engine |
![]() |
Noobody |
![]() |
---|---|---|
Sehr interessantes Projekt!
Ich habe soetwas ähnliches mal in BMax gemacht, nur sehr viel simpler - ich habe quasi nur den Vertexprozessor nachgebaut und dann alles in Wireframe gezeichnet (allerdings interessierte mich damals nur die Matrizenrechnung in der 3D-Grafik, weswegen die Rasterung der einzelnen Dreiecke ziemlicher Overkill gewesen wäre) ![]() Noch eine kleine Korrektur: Ein Vertex kann nicht als Vektor aufgefasst werden, sondern als Ortsvektor. Das spielt dann eine Rolle, wenn du zwischen verschiedenen Koordinatenräumen transformieren willst - beim Ortsvektor wird die Translation miteinbezogen, bei einem gewöhnlichen Vektor (wie beispielsweise der Vertexnormale) nur die Rotation und Skalierung. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Blitzkrieg Bop |
![]() |
|
---|---|---|
@ozzi789,Nicdel,ComNik,Noobody: vielen Dank für eure Kommentare. Es freut mich sehr, wenn das Projekt auf Interesse stößt ![]() @Noobody: danke für den Hinweis. Ich habe den Begriff des Ortsvektors absichtlich nicht erwähnt, da ich nicht unnötig für Verwirrung sorgen wollte (man muss ja erstmal wissen, was überhaupt ein Vektor ist). Dein Kommentar hat mich dann aber doch umgestimmt, da der Begriff des Ortsvektors durchaus wichtig ist und somit hier auch schon auftauchen sollte. Außerdem ist er nicht sonderlich schwer zu verstehen, wenn man Vektoren erst einmal verstanden hat. Ich habe den Worklogeintrag geringfügig editiert ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
ComNik |
![]() |
---|---|---|
Überhaupt nicht zuviel erklärt ![]() Immer weiter so. lg ComNik |
||
WIP: Vorx.Engine |
BIG BUG |
![]() |
|
---|---|---|
Interessanter "Artikel" über die Funktionsweise von OpenGL. Bin auf weiteres gespannt. | ||
B3D-Exporter für Cinema4D!(V1.4) MD2-Exporter für Cinema4D!(final) |
Blitzkrieg Bop |
![]() |
|
---|---|---|
@BIG BUG: Danke, das freut mich zu hören ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
XeresModerator |
![]() |
---|---|---|
Ein sehr informativer und interessanter Beitrag, ja, geradezu vorbildlich für ein Worklog.
Weiter so in der Qualität! |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960 Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
ComNik |
![]() |
---|---|---|
mit den Vektoren und Matrizen hat ich auch grad zu tun.
Super erklärt find ich ![]() |
||
WIP: Vorx.Engine |
Blitzkrieg Bop |
![]() |
|
---|---|---|
@Xeres und ComNik: Vielen Dank euch beiden! | ||
~ Hey Ho Let's Go ~ |
![]() |
ComNik |
![]() |
---|---|---|
ui ich hab was zu meckern gefunden^^
in dem eintrag in dem du das Include System erklärst, hast du ein paar Funktionsbeispiele aufgelistet. So z.B: BBGL3D_MATHS_MATRIX_Multiply() Das ist zwar sehr übersichtlich, aber ich finde das vieel zu lang. Da man nicht die möglichkeit hat namespaces zu nutzen würd ich maximal auf BBGL3D_MatrixMult() oder BBGL3D_MatrixMultiply() ausweichen. Danke, das wars^^ |
||
WIP: Vorx.Engine |
Blitzkrieg Bop |
![]() |
|
---|---|---|
@ComNik: was du meinst ist gut nachvollziehbar, allerdings wird es erstmal so bleiben. Dahinter steckt der Gedanke, dass nur die Funktionen kurz und schnell zu schreiben sind, die für den Benutzer relevant sind. Ein Beispiel ist die Render-Funktion: BBGL3D_RenderWorld().
Es wird also unterschieden (und damit auch klar strukturiert und geordnet) zwischen internen Funktionen und den konkreten Funktionen für den Benutzer. Die Funktion zur Matrix-Multiplikation kann dem Benutzer ja ganz egal sein, da sie nur bei den internen Berechnungen eine Rolle spielt. Die Funktion zum Rendern jedoch ist für den Benutzer von großer Bedeutung. Gerade wenn man Funktionen in bestimmte Blöcke zusammenfassen will, sind etwas längere Funktionsnamen durchaus sinnvoll. |
||
~ Hey Ho Let's Go ~ |
Übersicht

