OpenGl und Bildverarbeitung
OpenGl und Bildverarbeitung
  • Видео 39
  • Просмотров 13 589

Видео

Teil 38 Exkursion Rapid 3D Kollisionserkennung (Part 4 Theorie Überlappung von Boxen)
Просмотров 1087 лет назад
Rapid Kollisionserkennung für beliebig geformte Objekte nach gamma.cs.unc.edu/SSV/obb.pdf . Funktion mit Rechnungen aus dem Theorieabschnitt: docs.google.com/document/d/1HwpUzw2C1U_AqIVimg3EOPChvBq8jr0OiKzAyCVEX4E/edit?usp=sharing
Teil 37 Exkursion Rapid 3D Kollisionserkennung (Part 3 Theorie Überlappung von Boxen)
Просмотров 837 лет назад
Rapid Kollisionserkennung für beliebig geformte Objekte nach gamma.cs.unc.edu/SSV/obb.pdf .
Teil 36 Exkursion Rapid 3D Kollisionserkennung (Part 2 Praxis OOBTree)
Просмотров 1407 лет назад
Rapid Kollisionserkennung für beliebig geformte Objekte nach gamma.cs.unc.edu/SSV/obb.pdf . Link mit eig3.h und eig3.cpp (im Video eigen.h. und eigen.cpp) openslam.informatik.uni-freiburg.de/data/svn/gmapping/trunk/scanmatcher/ Altbekannte OpenGL Funktionalität - missing functions (leider erlaubt die Beschreibung keine Klammern): docs.google.com/document/d/1YuZWf3_RC1APnEinR-lh79h1MJbsozfSBboOf...
Teil 35 Exkursion Rapid 3D Kollisionserkennung (Part 1 Theorie OOBTree)
Просмотров 1657 лет назад
Rapid Kollisionserkennung für beliebig geformte Objekte nach gamma.cs.unc.edu/SSV/obb.pdf .
Teil 34 Übung OpenGL 3D Breakout programmieren (Part 8 Collider)
Просмотров 2507 лет назад
Teil 34 Übung OpenGL 3D Breakout programmieren (Part 8 Collider)
Teil 33 Übung OpenGL 3D Breakout programmieren (Part 7 GameState)
Просмотров 877 лет назад
Teil 33 Übung OpenGL 3D Breakout programmieren (Part 7 GameState)
Teil 32 Übung OpenGL 3D Breakout programmieren (Part 6 Praxis Kollision von Ball mit Cube)
Просмотров 1527 лет назад
Teil 32 Übung OpenGL 3D Breakout programmieren (Part 6 Praxis Kollision von Ball mit Cube)
Teil 31 Übung OpenGL 3D Breakout programmieren (Part 5 Theorie Kollision von Ball mit Cube)
Просмотров 1047 лет назад
Teil 31 Übung OpenGL 3D Breakout programmieren (Part 5 Theorie Kollision von Ball mit Cube)
Teil 30 Übung OpenGL 3D Breakout programmieren (Part 4 Ball)
Просмотров 1267 лет назад
www.blender.org/ wie ihr mit blender einen ball erstellen könnt: (nicht generate normals und triangulate beim erzeugen vergessen) ruclips.net/video/yc0b5GcYl3U/видео.html
Teil 29 Übung OpenGL 3D Breakout (Part 3 Cubes platzieren)
Просмотров 3647 лет назад
Für die Wände (nicht vergessen RGBA): www.pic-upload.de/view-32077046/green.jpg.html Ente: xxxxxxxxxxxxx xxxxxxxxxxxxx xxxgggxxxxxxx xxggzgxxxxxxo rrgggggxxxxoo xxxgggggooooo xxxxooppppooo xxxxooppoooox xxxxxooooooxx xxxxxxooooxxx xxxxxxxrxxxxx xxxxxxxrxxxxx xxxxxrrrxxxxx gras: xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxx...
Teil 28 Übung OpenGL 3D Breakout (Part 2 Walls)
Просмотров 1097 лет назад
Vertices der Mauer: GLfloat vertices[] = { // Positions // Normals // Texture Coords -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, -0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, -0.5f, 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, //-0.5f, -0....
Teil 27 Übung OpenGL 3D Breakout (Part 1 Cubes)
Просмотров 2227 лет назад
Hier die versprochenen Daten: GLfloat data[] = { // Positions // Normals // Texture Coords -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, 0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, -0.5f, 0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, -0.5f, -0.5f, -0.5f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, ...
Teil 26 3D Modell rendern mit OpenGl
Просмотров 1687 лет назад
Wie immer richten wir uns nach learnopengl.com
Teil 25 Assimp (Bibliothek zum Laden unterschiedlicher 3D Formate)
Просмотров 2327 лет назад
Wie immer gehen wir nach learnopengl.com/ vor.
Teil 24 Mehrere Lichtquellen
Просмотров 617 лет назад
Teil 24 Mehrere Lichtquellen
Teil 23 Unterschiedliche Arten von Lichtquellen
Просмотров 1957 лет назад
Teil 23 Unterschiedliche Arten von Lichtquellen
Teil 22 Glänzende Texturen
Просмотров 587 лет назад
Teil 22 Glänzende Texturen
Teil 21 Materialeigenschaften für das Phong-Beleuchtungsmodell
Просмотров 1127 лет назад
Teil 21 Materialeigenschaften für das Phong-Beleuchtungsmodell
Teil 20 Das Phong-Beleuchtungsmodell
Просмотров 1,6 тыс.7 лет назад
Teil 20 Das Phong-Beleuchtungsmodell
Teil 19 Ein wenig zu Farben
Просмотров 677 лет назад
Teil 19 Ein wenig zu Farben
Teil 18 Kamera (Part 3)
Просмотров 997 лет назад
Teil 18 Kamera (Part 3)
Teil 17 Kamera (Part 2)
Просмотров 787 лет назад
Teil 17 Kamera (Part 2)
Teil 16 Kamera (Part 1)
Просмотров 1487 лет назад
Teil 16 Kamera (Part 1)
Teil 15 Zum ersten Mal 3D (OpenGl)
Просмотров 1267 лет назад
Teil 15 Zum ersten Mal 3D (OpenGl)
Teil 14 Theorie zu Koordinatensystemen in OpenGl
Просмотров 1737 лет назад
Teil 14 Theorie zu Koordinatensystemen in OpenGl
Teil 13 Transformationen in OpenGl
Просмотров 937 лет назад
Teil 13 Transformationen in OpenGl
Teil 12 OpenGl Textures rendern
Просмотров 1097 лет назад
Teil 12 OpenGl Textures rendern
Teil 11 Ein wenig Theorie zu OpenGL Textures
Просмотров 1187 лет назад
Teil 11 Ein wenig Theorie zu OpenGL Textures
Teil 10 Ein nützliches Shaderobjekt
Просмотров 1187 лет назад
Teil 10 Ein nützliches Shaderobjekt

Комментарии

  • @blackscreeen380
    @blackscreeen380 Год назад

    top erklärt!

  • @hoernerhelm
    @hoernerhelm 4 года назад

    Hm, hab gerade versucht, openCv in VS19 gem. Anleitung einzubinden. Beim Includen der Bibliotheken-Namen wird #include rot markiert mit dem Hinweis opencv kann mit dem vcpkg-Manager installiert werden. Ähnliche Anleitung zum Einbinden auf einer englischsprachigen Seite mit dem selben Effekt ausprobiert.

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 4 года назад

      docs.microsoft.com/en-us/cpp/build/vcpkg?view=vs-2019 - ja das hört sich gut an. Anscheinend hat Microsoft einen neuen einfachen Installer entwickelt - siehe Link, was die manuelle Einrichtung obsolet macht. Vielen Dank für die Information!

    • @hoernerhelm
      @hoernerhelm 4 года назад

      @@openglundbildverarbeitung8250 hey, cool. Danke für schnelles Feedback. Bin gerad dabei mich mit dem Thema Bildverarbeitung in C++ auseinanderzusetzen.:-) Die einbindung über vcpkg funktioniert recht gut über powershell. Die Instalation hat jetzt allerdings rund 50 min gedauert:-[

  • @LanoChaos
    @LanoChaos 5 лет назад

    Großartiges Video. ^^

  • @JonDavMue
    @JonDavMue 5 лет назад

    Sehr gut erklärt! Vielen Dank dafür :)

  • @hlzkpf3280
    @hlzkpf3280 7 лет назад

    Hey, ich bins nochmal Ich hab noch ne Frage, hoffe du antwortest. Wie kann ich abfragen wo ich gerade hinschaue, es gibt ja die LookAt Funktion die das bestimmt, aber wie kann ich das abfragen, sodass ich zum Beispiel wenn ich eine Türklinke anschaue ich das ich das abfrage? Weil alles was ich bisher probiert hatte, hat nur dazu geführt das ich aus einer position das abfragen kann, aber aus einer anderen stimmt es schon wieder nicht. Hoffe du kannst mir da helfen. Danke

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Hallo, kannst du deine Frage vielleicht etwas spezifizieren ? Willst du Abfragen ob: a) die Türklinke sich irgendwo auf dem Bildschirm befindet? oder b) du grob in die Richtung der Türklinke blickst? (also ob sich die Türklinke ungefähr im Sichtzentrum befindet) oder c) du genau an die eine Raumposition der Türklinke blickst? + ist es wichtig Festzustellen ob die Türklinke eventuell von anderen Objekten im Raum verdeckt wird?

    • @hlzkpf3280
      @hlzkpf3280 7 лет назад

      OpenGl und Bildverarbeitung Da ich die Abfrage nur in einem Bestimmten Bereich aktiv habe(Über die Positionskoordinaten der kamera), fällt das mit dem gegenstand im weg eigentlich weg. Also am zutreffendsten ist eigentlich c) das ich genau die raumkoordinate der türklinke "anschauen" möchte.

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Hallo H lzk pf, hast du es jetzt schon hingekriegt? Ansonsten müsstest du überprüfen ob der Kamerarichtungsvektor multipliziert mit einer Konstanten addiert zur Kameraposition den Vektor der Türklinkenposition ergibt. Falls das der Fall ist weißt du, dass du die Türklinke anschaust: Du hast also das Gleichungsystem: cam_pos+t*richtungsvektor = türk_pos zu lösen. (und solltest dabei kleine Ungenauigkeiten zulassen, wegen der float Werte. Von der Rechnung oben löst du die erste Zeile nach t auf... dann weißt du wie groß t sein sollte damit es passt und fürhst die Rechnung cam_pos+t*richtungsvektor dann einfach durch - falls das Ergebnis ziemlich nah an tür_pos ist, weißt du dass du auf die Türklinge schaust. Viel Erfolg!

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      PS: Bei der Gleichung musst du mit der Kamera wie sie in den Videos definiert ist aufpassen, dass du negative "t" werte kriegst.... sonst liegt die Türklinke hinter der Kamera und nicht vor.

    • @hlzkpf3280
      @hlzkpf3280 7 лет назад

      Okay, habs soweit verstanden, bis auf den teil mit der Konstanten t, wofür ist die da, bestimmt die die die entfernung die die Kamera zu türklinke hat, weil wenn ich Cam_Pos * Cam_Front nehme dann hab ich den Vektor, der sagen wir mal direkt an der Linse liegt, und das t sorgt also dafür das ich nicht den vektor direkt an der Linse habe und ich nur auf den vektor der türklinke schauen muss, richtig?

  • @oreonengine9444
    @oreonengine9444 7 лет назад

    richtig nice!

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Vielen Dank!

    • @oreonengine9444
      @oreonengine9444 7 лет назад

      wo hast du das alles gelernt?

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Wenn Du die mathematischen Hintergründe meinst: im Physikstudium. 90% ist lineare Algebra, wenn es Dich interessiert und Du die Zeit dafür findest, kannst du damit sofort einsteigen (dafür brauchst du kein wirkliches Vorwissen).

  • @mathisawesome618
    @mathisawesome618 7 лет назад

    Ein sehr gutes Video das einem eine sehr gute Vorstellung vom Phong-Beleuchtungsmodell gibt, vielen Dank.

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Danke! Das ganze Wissen stammt natürlich von learnopengl.com/#!Lighting/Basic-Lighting der wunderbaren Einführungserie von Joe De Vries.

  • @hlzkpf3280
    @hlzkpf3280 7 лет назад

    Hey, erstmal wollte ich mich bedanken für die Videos, die helfen mir wirklich so sehr beim OpenGL lernen. Und auch das du nicht so wie die meißten nach dem motto gehst: "Das bringt keine Klicks, das mach ich nicht", sondern das du es einfach durchziehst, find ich Klasse. Jetzt hab ich noch ne frage, als ich das mit dem Fenster gemacht habe hatte ich das Problem, das ich sobald meine Maus am Fensterrand war, das sie nicht weitergegangen ist und somit auch das ´Sichtfeld nicht. Hab im Video leider nicht gesehn ob das bei dir auch ist. Ich programmiere mit SFML anstatt mit glfw, daher musste ich selbst den Code ein bisschen anpassen. Liegt das daran, oder ist das bei dir auch so? Falls ja könntest du mit da einen Tipp geben wie ich das Umgehen/Beheben kann. Danke! P.S. Hatte schon überlegt das sobald ich am Rand ankomme er mit der maus zurück zur Mitte springt aber die aktuelle sicht behält, konnte dies aber nicht umsetzten.

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Hey vielen Dank es freut mich, wenn es dir hilft - wobei ich ja meist nur in Worte fasse was Joey de Vries auf learnopengl.com/ fleißig erarbeitet hat. Zu deiner Frage - siehst du die Maus in deinem Fenster? In dem Video hatte ich die Sicht auf sie deaktiviert - was du machen könntest, ist die Maus einfach immer wieder auf die Mitte setzen bei jeder Abfrage und dann als Distanz den Abstand zur Mittel wählen - leider kenne ich mich mit SFML auch nicht so richtig aus - und hoffe das es so klappt. Viel Erfolg!

    • @hlzkpf3280
      @hlzkpf3280 7 лет назад

      Ja, aber du erklärst das so schön anschaulich, ich hab es schon mit vielen Inerneteiten probiert und nichts hat so wirklich was gebracht, aber bei dir verstehe ich es einfach super. Das das der Cursor im Fenster bleibt, dafür gabs eine SFML Funktion, ebenso für das unsichtbar machen dessen. Ich probiere mal das mit der Maus auf die mitte setzten. Wie schon gesagt Danke für diese Videos, sind wirklich ne große Hilfe.

    • @hlzkpf3280
      @hlzkpf3280 7 лет назад

      Okay hat geklappt, hab mich am anfang ein bisschen verrechnet, aber jetzt hab ichs geschafft. Danke.

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Gerne doch und vielen Dank für dein Feedback - es ist super motivierend.

  • @oreonengine9444
    @oreonengine9444 7 лет назад

    👍🏼👌🏼

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Ja, bei dem Video habe ich an dich gedacht... ist cool, wenn du damit was anfangen kannst - hoffe ich komme noch innerhalb dieser Woche dazu, den nächsten Teil hochzustellen. Und wie läuft es bei dir? Noch viel um die Ohren?

    • @oreonengine9444
      @oreonengine9444 7 лет назад

      mehr als angucken schaffe ich leider nicht:( ich hab so viel um die ohren und komme zu nichts :/ uni, arbeit wie gehabt aber das wäre alles kein problem. ich habe extrem stress gerade mit meiner wohnung und muss mir was neues suchen... zum kotzen alles

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      oha das klingt echt besch..., ich drück dir dann mal die Daumen, dass du schnell was findest. Aber in Studentenstädten ist das ja alles meist nicht so einfach.

  • @oreonengine9444
    @oreonengine9444 7 лет назад

    schönes video👍 werde ich mir auf jedenfall nochmal reinziehen für ne physics engine

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Vielen Dank freut mich wenn es dir ein bißchen helfen kann. Und hab mal in deinen Kanal reingeschaut ist wirklich super (weiter so)! Für deine physics engine wirst du dann aber vermutlich mehr benötigen: de.wikipedia.org/wiki/Kollisionserkennung_(Algorithmische_Geometrie) oder? Das hier waren ja nur Würfeln und Kugeln :).

    • @oreonengine9444
      @oreonengine9444 7 лет назад

      Danke! ja das stimmt, vllt benutz ich auch einfach eine öffentliche physics engine:)

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      Also eigene physiks engine - ist schon ziemlich nice - wenn du die zeit dafür findest, bestimmt super lehrreich. Aber du hast mich jetzt glaube ich ein bißchen auf den "geschmak gebracht", werde mir nachdem dieses spiel hier einigermaßen passabel läuft... mal eines der paper über "echte" kollision schnappen und zumindestens zur kollision dann nen video zu machen - so als kleiner exkurs zwischendurch. Dieses unten verlinkte Paper erstmal nicht, aber kann es dir nicht vorenthalten weil es so schön ist: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.4043&rep=rep1&type=pdf

    • @oreonengine9444
      @oreonengine9444 7 лет назад

      ja ist mega nice, aber ne physik engine ist nochmal ne andere hausnummer als eine rendering engine. Ich glaube mir fehlt da auch die zeit wenn ich mir das mal so recht überlege, das ist ja wieder mit viel research verbunden. Was für ein Spiel soll das werden? Ich bin seit ca. 1,5 jahren aus spaß an einer rendering engine am basteln, hat damals angefangen mit meiner Bachelorabschlussarbeit. Mein Projekt ist auch bei github verfügbar, die nächsten tage wollte ich eine dokumentation erstellen, das einen leichten einstieg in mein projekt ermöglicht. Ich hätte nämlich viel mehr spaß mit mehreren leuten daran zu arbeiten. Die nächsten features die ich in meiner engine implementieren will sind: - directional light shadows (shadow map rendering habe ich schon, sollte relativ einfach zu lösen sein, man muss nur noch die shadow map projizieren und vergleichen) - glow, und god rays - atmospheric scattering - deferred shading - gaussian blur - underwater effects (caustics etc) - und irgendwann ne physik engine :D

    • @openglundbildverarbeitung8250
      @openglundbildverarbeitung8250 7 лет назад

      oreon3D Hey vielleicht kann ich da etwas mitmachen - also directional light shadows hört sich echt machbar an - aber ich hab gut reden ich hab noch nicht mal etwas mit shadows implementiert. Aber ob ich die Zeit finde hängt etwas damit zusammen, ob ich jetzt bald Arbeit finde oder nicht - also je nachdem. Insbesondere mit Physik kenn ich mich im Prinzip besser aus als mit OpenGl - falls dann da mal die physics enginge zukommt. Ach mit Spiel meinte ich nur dieses kleine Breakoutspiel aus den Tutorials - hauptsächlich für Lernzwecke.