Du bist nicht angemeldet.

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 244.

Werbeanzeige

09.03.2021, 09:56

Forenbeitrag von: »Elmi«

DXF-Import?

Danke für das Feedback. Also: es gebt mir um den Import, genau genommen um 2D-Modelle, wie sie typischerweise für (technische) Zeichnungen zum Einsatz kommen. Bisher habe ich auch kein kleines Kommandozeilentool gefunden, das sowas können würde - vor allem kein kleines Tool, bei dem ich eben nicht 'zig MEgabytes von irgend einem anderen Softwarepaket installieren muss. Ich bin ja fast soweit, dass ich mir da sogar was kaufen würde, aber selbst da sieht es dünn aus. Es gibt zwar Bibliotheken, abe...

04.03.2021, 13:48

Forenbeitrag von: »Elmi«

DXF-Import?

Hi, DXF ist ja leider (auf Grund seiner vielen verschiedenen Versionen und inkompatiblen Änderungen) ein ziemlicher Sumpf und daher nahezu unmöglich selbst zu implementieren. Deswegen meine Frage: kennt jemand eine gute Bibliothek, mit der man DXF-Dateien korrekt importieren kann (am besten DXF2000)? assimp hat zwar einen DXF-Import, aber leider nur 3D-DXF (also echte 3D-Modelle), mit 2D Vektordaten/Zeichnungen kommt die Bibliothek nicht klar. Sinnvollerweise sollte die Bibliothek die Datei nich...

19.02.2021, 14:10

Forenbeitrag von: »Elmi«

Pfeil an Linienende zeichnen/berechnen

Der Trick mit dem Tauschen der Koordinaten funktioniert hervorragend - Danke!

19.02.2021, 09:59

Forenbeitrag von: »Elmi«

Pfeil an Linienende zeichnen/berechnen

OK, ich sollte vielleicht etwas genauer sein: die Linie, die den Pfeil bekommen soll, existiert bereits. Die ist also schon in irgend einem Winkel ausgerichtet und dort würde ich gerne die Pfeilspitze hinzufügen. D.h. für den von dir beschriebenen Weg müsste ich erst die Rotation der Linie ermitteln um dann die Pfeilspitze entsprechend zu rotieren. Klingt machbar, erscheint mir aber rechenzeitaufwändig. Gibt's da eventuell auch einen schnelleren Weg? Danke!

19.02.2021, 09:04

Forenbeitrag von: »Elmi«

Pfeil an Linienende zeichnen/berechnen

Hi, ich brauche mal einen kleinen Denkanstoß, das Problem sollte ja eigentlich nicht kompiziert sein. Ich habe eine Linie, an deren Ende ich gerne einen Pfeil zeichnen würde. Bei einer waagerechten Linie ist das ganz einfach, es wären zwei zusätzliche Linien die beide am Ende der ersten Linie beginnen und beide an einer in X-Richtung verschobenen und in Y-Richtung in positiver und negativer Richtung verschobenen Koordinate enden. Daraus ergibt sich dann bei vernünftiger Wahl der X-Verschiebung u...

09.12.2020, 12:38

Forenbeitrag von: »Elmi«

OpenGL3: Diffuse lighting

So, jetzt muss ich noch mal nachfragen: das STL-Dateiformat liefert Normals mit, da werden zu jedem Polygon (=Dreieck) drei Werte für die Normals "ni nj nk" geliefert. So weit so gut. Wenn ich mir aber das Wavefront OBJ Dateiformat ansehe, da gibt es zu jedem Vertex drei Werte für die Normals, d.h. bei einem Dreieck gibt's dann insgesamt 9 Werte! Wenn ich mir die Erklärung https://en.wikipedia.org/wiki/Normal_(geometry) bei Wikipedia ansehe, dann würde ich sagen, STL macht das ganz richtig. Nur:...

25.11.2020, 12:18

Forenbeitrag von: »Elmi«

OpenGL3: Diffuse lighting

Zitat von »David Scherfgen« Die Normale eines Dreiecks kannst du ganz einfach mit dem Kreuzprodukt zweier normierter Vektoren entlang der Kanten berechnen. Das klingt doch mal sehr gut - perfekt, Danke!

25.11.2020, 10:27

Forenbeitrag von: »Elmi«

OpenGL3: Diffuse lighting

Also dann mal ein paar Details: die Modelle sind Vorlagen für 3D-Drucke. Da hängt es vom Format ab, ob Normale enthalten sind oder nicht. STL hat z.B. welche, diverse andere 3D-Druckformate haben keine, weil eben keine Darstellung vorgesehen ist, sondern nur die Bearbeitung in einer Maschine. Trotzdem will ich diese Modelle darstellen können - und das nicht nur als Wireframe sondern optional auch als Solid. Und genau für die Fälle, in denen das Format keine Normalen mitliefert, brauche ich halt ...

25.11.2020, 06:45

Forenbeitrag von: »Elmi«

OpenGL3: Diffuse lighting

Beim Modellieren kann ich nichts berücksichtigen, da ich die Datenerzeugung nicht in der Hand habe. Wie sähe es denn für eine facettenartige Oberfläche aus?

24.11.2020, 20:28

Forenbeitrag von: »Elmi«

OpenGL3: Diffuse lighting

Hi, nach dem mein Ambient Light jetzt funktioniert, ist der nächste Schritt diffuses, gerichtetes Licht. Laut Beschreibung braucht mein Modell dafür Normal Vectors - die es aber nicht hat, weil ich nur Triangle-Arrays für die Geometrie habe und sonst nichts. Gibt es einen eleganten Weg, für jedes dieser Dreiecke der Oberfläche die Normal Vectors nachträglich zu erzeugen, so dass sich das Modell vernünftig beleuchten lässt? Danke!

24.11.2020, 15:33

Forenbeitrag von: »Elmi«

OpenGL3: Licht in Szene bringen

Zitat von »Schrompf« Letzteres bezweifle ich Ja und nein. Ich kann ALLES nach vec4 ändern, inklusive dem hier: Quellcode 1 const vec4 lightColor = vec4( 0.5f, 0.5f, 0.5f, xxx); Allerdings wird das verhalten hier dubios: setze ich xxx auf 1.0, so ist das beleuchtete Objekt irgendwie transparent, setze ich es auf 0.0, so wird es undurchsichtig und komplett weiß. Ich hätte jetzt eher ein schwach beleuchtetes, dunkles Objekt erwartet.

24.11.2020, 13:25

Forenbeitrag von: »Elmi«

OpenGL3: Licht in Szene bringen

Klappt leider nicht, egal ob mit oder ohne das "f", der Compiler liefert immer diesen Fehler: Quellcode 1 ERROR: 0:9: error(#162) Wrong operand types: no operation "*" exists that takes a left-hand operand of type "highp 3-component vector of vec3" and a right operand of type "uniform highp 4-component vector of vec4" Das passiert auch dann, wenn ich aus den beiden vec3 ein vec4 mache...

23.11.2020, 12:26

Forenbeitrag von: »Elmi«

OpenGL3: Licht in Szene bringen

Hi, ich habe aktuell eine Wireframe-Darstellung, die korrekt funktioniert. Für die Objekte wird glPolygonMode(GL_FRONT_AND_BACK,GL_LINE) gesetzt und der Fragmentshader ist auch recht simpel, die von außen per "inputColour" gesetzte Farbe wird 1:1 verwendet: Quellcode 1 2 3 4 5 6 7 8 #version 130 uniform vec4 inputColor; out vec4 FragColor; void main() { FragColor=inputColor; } Jetzt würde ich das ganze gerne auf eine Solid-Darstellung umbauen. Erster Schritt: glPolygonMode(GL_FRONT_AND_BACK,GL_F...

23.10.2020, 14:22

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Update: diese Funktion hier läuft perfekt: Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 13 void Barycentric(Point p, Point a, Point b, Point c, float &u, float &v, float &w) { Vector v0 = b - a, v1 = c - a, v2 = p - a; float d00 = Dot(v0, v0); float d01 = Dot(v0, v1); float d11 = Dot(v1, v1); float d20 = Dot(v2, v0); float d21 = Dot(v2, v1); float denom = d00 * d11 - d01 * d01; v = (d11 * d20 - d01 * d21) / denom; w = (d00 * d21 - d01 * d20) / denom; u = 1.0f - v - w; }

23.10.2020, 08:35

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Zitat von »David Scherfgen« Aber mit den baryzentrischen Koordinaten ist dein Problem jetzt gelöst, oder? Ja und nein, im Prinzip sieht die Antwort gut aus, nur die Formel, die ich mir oben rausgesucht habe, funktioniert nicht, ich brauche wohl eine andere :-)

22.10.2020, 10:37

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Zitat von »FSA« Oder meinst du das Verhältnis Bezogen auf die beiden anderen Entfernungen von Punkt<->Ecke? Dann kann man einfach alle Entfernungen summieren und mit dem arithmetischem Mittel arbeiten. Ja das meine ich - sonst wäre die Frage ja auch sinnlos. Und eben dieses arithmetische Mittel funktioniert bei einem Dreieck scheinbar nicht, jedenfalls bekomme ich es nicht gebacken.

21.10.2020, 14:48

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Zitat von »Schrompf« Was Du suchst, nennt sich "baryzentrische Koordinaten" OK, damit kommt man bei Google tatsächlich zu Ergebnissen. Unter https://gamedev.stackexchange.com/questi…ric-coordinates gibt es eine Formel, die anscheinend ohne die Laufvariablen auskommt: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 // Compute barycentric coordinates (u, v, w) for // point p with respect to triangle (a, b, c) void Barycentric(Point p, Point a, Point b, Point c, float &u, float &v, float &w) { Vector v0 = b...

21.10.2020, 14:42

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Zitat von »FSA« Es wäre wichtig zu wissen, zu was das Verhältnis sein soll. Verhältnis zu den Seitenlängen des roten Dreiecks? Des gelben Dreiecks? Zu der maximal möglichen gelben Linie bei gegeben Winkel (Schnittpunkt durch den Kreis)? Das Verhältnis ist immer auf die Entfernung des Punktes von den Ecken bezogen, also auf die Längen der orange eingezeichneten Linien.

21.10.2020, 13:17

Forenbeitrag von: »Elmi«

Punkt-Dreieck-Beziehung in Faktoren darstellen

Hi, folgende Situation: <!--splitLinkBegin--><!--splitLinkEnd--><!--noLinkBegin-->ExternesOriginalbildanzeigen(Link)<!--noLinkEnd--> Ich habe ein Dreieck und innerhalb dieses Dreiecks (rot) liegt ein einzelner Punkt (grüner Kreis). Daraus lässt sich leicht die Entfernung des Punktes zu den drei Ecken ermitteln. Was ich jetzt allerdings haben will, sind nicht drei absolute Entfernungswerte, sondern Faktoren, welche die Verhältnisse der Entfernungen anzeigen: - um so näher der Punkt an einer der E...

16.07.2020, 13:46

Forenbeitrag von: »Elmi«

Polygondaten optimieren

Zitat von »Jonathan« Interessant, ich hätte jetzt nicht gedacht dass irgendwelche Tools so eine Grütze exportieren. Ich kann mir auch kaum vorstellen, dass die Reihenfolge fürs Anzeigen wirklich egal ist, ich denke mir wenn man z.B. in Inkscape ein Polygon mit einer Farbe oder Muster füllen will, würde man die Punkte auch wirklich sortiert haben wollen. Gut vorstellbar, dass das dann intern auch passiert, aber eigentlich merkwürdig wieso die es dann nicht vernünftig exportiert wird... Du sollte...

Werbeanzeige