Suchergebnisse

Suchergebnisse 1-30 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

  • Benutzer-Avatarbild

    Netzwerk gähnend lahm

    jvbsl - - Off-Topic

    Beitrag

    Zitat von Nolde: „25000MBytes/1024=~25GBytes“ 25000MBytes ==25GBytes, da muss man nicht runden, und wenn man es so als Rechnung hinschreibt ists eigt. auch falsch. Die Umrechnung ist immer 1000. 25000MBytes/1024 -> 24,4 GiBytes(GibiBytes). Auch wenn es sich im allgemeinen Sprachgebrauch nicht eingebürgert hat und sich manche darüber streiten. Finde ich ergibt es so auch viel mehr Sinn. Denn das Wort "kilo" z.B. bedeutet einfach tausend und nicht ungefähr tausend

  • Benutzer-Avatarbild

    Von der Structure zur Class

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    1. ja das finde ich einfach. 2. ich habe von primitiven typen gesprochen, welche außerdem alle wertetypen sind. Aber du hast Recht darauf hätte man näher eingehen können. Wobei ich das nicht unbedingt für das wesentliche halte. Zitat von ErfinderDesRades: „Da fährt man voll vor die Wand, wenn Auto ein Struct ist, weil die Ausstattungs-Methode wird nur eine Kopie des Autos ausstatten - das Original bleibt davon unberührt - und der Programmi“ Leider falsch, da die Ausstattung als List(Of deklarier…

  • Benutzer-Avatarbild

    Von der Structure zur Class

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Der Unterschied zwischen struct und class in .Net ist ganz einfach, dass die struct auf dem stack allokiert wird und die class auf dem heap. Damit kann man dann manche Optimierungen durchführen. In den meisten Fällen ist aber eine Klasse siinnvoller, da du mit diesen erstens mehr Features der OOP verwenden kannst und zweitens man sehr oft gar keine sinnvollen structs erzeugen kann: Du hast hier strings, welche auf dem heap allokiert werden und in der struct hättest du nur die referenzen auf dem …

  • Benutzer-Avatarbild

    Warum nimmst du nicht eine Library? Ansonsten gibt es diese Klasse, die dir helfen sollte: msdn.microsoft.com/de-de/libra….sslstream(v=vs.110).aspx

  • Benutzer-Avatarbild

    32bit Unterschied 64Bit?

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Oder man macht AnyCPU und das laden der Libraries dynamisch und liefert einfach immer beide dlls mit

  • Benutzer-Avatarbild

    Bei allen Möglichkeiten sollte man einen nutzer anlegen, der ausschließlich auf vorgegebene Funktionen zugriff hat. Eine zusätzliche Schicht sollte eben die Validierung der Daten sein, über welche Sprache ist dabei im Grunde egal.

  • Benutzer-Avatarbild

    rein in meinem Kopf zerstört das verrechnen der Projection-Matrix nicht die Tiefeninformation selbst, nur natürlich etwas verändert, dürfte aber immer noch Tiefeninformation bleiben. Vorallem weil überall hab ich bisher gesehen, dass die GPU am Ende nur die bereits verrechnete Koordinate bekommt, natürlich mit Vec4 und w. Vielleicht hilft dir das auch noch etwas: [3D] Clipping UV-Probleme Der Bresenham ist außerdem nicht für das Lösen des Sichtbarkeitsproblem, sondern als alternativ Implementier…

  • Benutzer-Avatarbild

    Wie gesagt, meine Idee wäre Bresenham: en.wikipedia.org/wiki/Bresenham%27s_line_algorithm Hmm aber die wenn du das ganze mit der Projection verrechnest, sollte die z Koordinate immernoch Verwendbar sein, oder etwa nicht?

  • Benutzer-Avatarbild

    Zitat von Gonger96: „... Im vec_to_raster berechne ich v_camera = transform*vertex und v_screen = projection*v_camera...“ -> C#-Quellcode (1 Zeile) Und ich gehe davon aus, dass projection und transform beides Matrizen sind, die sich innerhalb eines Frames nicht ändern, korrekt? Dann kannst du projection*transform in einer Matrix vorberechen... C-Quellcode (6 Zeilen) Edit: hmm, du brauchst v_camera.z? Das muss doch irgendwie anders gehen, oder was für eine Matrix ist transform denn? FP war bei mi…

  • Benutzer-Avatarbild

    Was mir gleich zu beginn auffällt ist, dass du bei vec_to_raster move verwendest. Besser ist aber das move weg zu lassen, dann sollte copy ellision angewendet werden, was schneller sein dürfte als ein move(wobei ich nicht weiß, wie gut er das move zeugs auch noch wegoptimieren kann und dürfte eigt. auch nicht so viel ausmachen). Und ganz groß dürfte sein, dass du für jeden Vertex projection*transform neu ausrechnest, obwohl das Ergebnis dabei pro Frame ja eigentlich(hoffentlich) gleich bleiben s…

  • Benutzer-Avatarbild

    GDI Zeichenfehler anzeigen

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Tja, dann fällt mir fürs Pooling nur ein: referencesource.microsoft.com/…ed/LinearGradientBrush.cs Entweder das komplette Teil schnappen und neu bauen, oder eben mittels Reflection "void SetNativeBrushInternal(IntPtr brush)" auf zu rufen um die Objekte zu switchen und eben nur die GDI handles erzeugen/zu löschen indem du die Konstruktoren extra implementierst^^ Aber kommt mir alles unschön vor, hört sich irgendwie nach einem Bug an das ganze

  • Benutzer-Avatarbild

    GDI Zeichenfehler anzeigen

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Dispose zerstört nur die zugrundeliegenden GDI objekte, welche mittels WinAPI erzeugt werden, nicht jedoch die .Net Wrapper Objekte, die sollten irgendwann vom GC aufgeräumt werden, die Frage ist allerdings warum das nicht passiert. Hast du die Diagnosesitzung mal bis zum Ende durchlaufen lassen? Vlt. auch ein paar Snapshots machen, sodass man eine Steigerung von bestimmten Objekten sieht. Denn eigt. sollten die LinearGradientBrush spätestens aufgeräumt werden, wenn der Speicher ausgeht. Es sieh…

  • Benutzer-Avatarbild

    GDI Zeichenfehler anzeigen

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Point ist ne struct und somit, solang man den nicht in ein Array packt somit stack allocated, wird also nicht vom GC aufgeräumt... Also das setzen auf Nothing bringt nichts, da das mit default(Point) gleichzusetzen sein dürfte, was genauso nen Wert ist, nur halt derselbe wie new Point(0,0)^^ Mach doch einfach eine Diagnosesitzung, dann sollte schon zu sehen sein, was da den Speicher auffüllt, du kannst ja auch ca.Anzahl mancher Objekte abschätzen und wenn es dann einiges mehr ist kannst es vlt. …

  • Benutzer-Avatarbild

    GDI Zeichenfehler anzeigen

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    kannst einerseits nen try catch darum machen und nen breakpoint setzen, auf die Art debugg ich GDI+ immer. Ansonsten solltest das denke ich auch aktivieren können: msdn.microsoft.com/en-us/library/x85tt0dd.aspx

  • Benutzer-Avatarbild

    Quaternion => Euler

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Warum sollte man dass denn wollen? Natürlich könntest du immer hin gehen und bei negativ Zahlen 360° drauf addieren. Ich versteh nur nicht warum man das tun sollte? Wenn man die in nen sin/cos/tan/.. packt kommt am ende genau dasselbe raus. In einem Fall dreht man sich halt im Uhrzeigersinn und im anderen Fall gegen den Uhrzeigersinn, aber in beiden Fällen kommt man auf dem Kreis an derselben stelle an.

  • Benutzer-Avatarbild

    Quaternion => Euler

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    du weißt, aber schon, dass -190° und 170° genau derselbe Winkel sind? Der andere sieht aus, als wäre das Koordinatensystem gedreht?!^^

  • Benutzer-Avatarbild

    Mit homogenisieren/dehomogenisieren hast ja anscheinend verstanden Das Paper meiner Uni ist leider nicht öffentlich zugänglich, will das also nicht einfach hier reinkopieren. Zitat von φConst: „Oder ist das hier einfach nur derselbe Punkt-Name, aber unterschiedliche Bedeutung?“ Ühm ja sorry hier ist das eine p nicht wie das andere p. Oben ists der Punkt auf dem Dreieck, der interpoliert werden soll(also 2D und bereits projeziert), wobei v1/v2/v3 die 3 projezierten Punkte des Dreieckss sind(homog…

  • Benutzer-Avatarbild

    jop in Zeile 5. Hm das homogenisieren verwirrt mich dann doch etwas, bin mir da ehrlich gesagt Total unsicher, ob das da so Sinn ergibt. Ich hatte das so verstanden, dass man homogenisiert aber vor dem eigentlichen Zeichnen wieder dehomogenisiert. deshalb speichert man in result.W = 1/result.W, damit man zum dehomogenisieren 6-8 wiederholt. Aber bei der Clippingstelle bin ich mir eigt. sicher^^

  • Benutzer-Avatarbild

    Also sollte nach dem multiplizieren mit der Projektionsmatrix sein, den Code den du jedoch da geschrieben hast, ist das nicht eigt. Teil der Projektionsmatrix? Naja außer vlt. der Teil für X/Y, welchen man dann anwenden muss mehr oder minder unabhängig von der Projektionsmatrix, dass man am Ende auf nen Bitmap malen kann?

  • Benutzer-Avatarbild

    Clipping Matrix dürfte zumindest laut meinem Verständnis einfach der Teil der Projection-Matrix sein, der die ClippingPlanes definiert(Könnte sogar die ganze Matrix benötigen keine Ahnung ehrlich gesagt, denke aber schon). Die 2D Punkte sollten doch ganz einfach xy sein nach meinem Verständnis? Schließlich projeziert man es ja auf diese Ebene. Also ist es auch nicht großartig schwer die baryzentrischen Koordinaten zu berechnen, denn der Algorithmus für die Texturierung bleibt derselbe wie bei no…

  • Benutzer-Avatarbild

    @ErfinderDesRades komm mal lieber wieder schnell runter von deinem hohen Ross, schließlich hast du ja bewiesermaßen einen Tag mehr gebraucht, sonst hättest du ja wie wir alle bereits gepostet, bevor du es dir angeguckt hast. Der tolle Beweis ist nur zum Verständnis für den TE und Formschönheit ist mMn sowieso unnötig. Und dein toller Vorschlag mit deinem einen Bit steht auch schon da. Wobei ich es echt lobenswert finde, dass du ausnahmsweise mal an die Performance denkst, aber dann auch noch bei…

  • Benutzer-Avatarbild

    Nur eine Million? Du bekommst von mir das ganze Geld dieser Welt, inklusive der aktuellen Schulden von allen Nationen dieser Welt ausgezahlt in Kupfer. Mal hier ein Ansatz, warum ich solch eine Wette eingehen würde: Also wir nehmen an wir haben die funktion compress, welche eine beliebige Bytefolge nimmt und die Anzahl der Bytes halbiert: c' = compress(u) mit |c'| = ceil(|u|/2) gerne auch Zusätzlich |c'|>=1 und |u| >= 2 ich nehme einfach mal nen Randomwert und sage meine unkomprimierten Daten si…

  • Benutzer-Avatarbild

    u,v,w passt mir ja mal ganz und gar nicht für die Variablennamen bei baryzentrischen Koordinaten mMn etwas irreführend(ich kenn das ja als alpha, beta, gamma), da es so nach Texturkoordinaten klingt, was es ja irwie nicht sind^^ Also ich glaube nicht, dass es die GPU auf diese Art macht, ich denke das läuft in etwa so ab: C#-Quellcode (81 Zeilen) So ist meine Grundvorstellung, doch da das ausm Kopf geschrieben ist, wird der Code nie von Grundauf funktionieren. Für die baryzentrischen Koordinaten…

  • Benutzer-Avatarbild

    Nunja direkt im clipping Prozess hast du doch alle Vertices des Dreiecks, also auch die, die geclippt werden. Und die Koordinaten des dadurch entstehenden Trapezes hast du ja auch 41699-clipping-png von v1/v2/v3 hast du UV Koordinaten, die Screen-Space koordinaten(mit auf jeden fall auch w). v4 und v5 lassen sich dann ganz einfach berechnen, das gilt für u/v und w gleichermaßen. Ich weiß nicht ob ich das alles noch richtig im Kopf hab, aber du projezierst und hast am Ende z als Depth, mit welche…

  • Benutzer-Avatarbild

    ich seh nicht ganz das Problem für baryzentrische Koordinaten? Das einzige was ich mir vorstellen kann ist, dass es bei dir Perspektivisch noch nicht passt scratchapixel.com/lessons/3d-b…olation-vertex-attributes Du behandelst es trotzdem im projezierten Zustand, musst dir jedoch die ursprünglichen Koordinaten natürlich merken. Für das Clipping ist ein Trapez etwas ungeschickt->Unterteile ein Trapez in zwei Dreiecke und berechne an den Eckpunkten(da wo geclippt wird) dieser neuen Dreiecke interp…

  • Benutzer-Avatarbild

    Du hast folgende Möglichkeiten: 1. Nimm den DataContractSerializer 2. Implementier IXmlSerializable wobei du das serializieren mehr oder minder selbst übernimmst 3. Du machst nen public setter 4. Nen komplett eigenen Serializer implementieren

  • Benutzer-Avatarbild

    WinForms hat auch nicht den Ansatz, dass jedes Control wieder ein Container ist, so wie WPF. Ich meine in WPF ist ja quasi jedes Item in einer ComboBox wieder ein "Control", jedoch nicht im Sinne der WinAPI. In WinAPI ist jedes Control, welches Messages Empfangen kann auch nichts anderes als ein normales Fenster. Wenn dann Messages empfangen werden, dann wird das ganze in die ganze tiefe Struktur weitergeleitet über das Messaging-System, was bei tiefen strukturen und vielen invalidierungen das g…

  • Benutzer-Avatarbild

    Je nach art der Controls kann sich das sogar auswirken, aber bei solchen controls hält man das layouting/rendering für die Zeit des erstellens an und dann kommt es wieder auf dasselbe raus. Aber wie bereits über mir erwähnt freezt das ganze einfach, also warum sollte man überhaupt etwas in Shown machen?

  • Benutzer-Avatarbild

    Vollkommen irrelevant, in beiden Fällen wird derselbe bzw. sehr ähnlicher Code ausgeführt, zumindest für WinForms. Aber für WPF dürfte das auch nicht sonderlich anders sein...

  • Benutzer-Avatarbild

    Naja klar, ValueTuple wäre z.B. schonmal besser. Was dann noch besser Wäre, wäre ein einfacher ScanLine Algorithmus. Optimieren könnte man dann später evtl. mittels Bresenham, aber dafür musst du die Polygone auch selbst triangulieren(oder du hast es bereits in triangulierter Form, was ja bei DirectX/OpenGL/Vulkan der Fall ist). ScanLine ist quasi, dass du eine Horizontale Gerade durch das Polygon ziehst und nur die Intersection mit den Edges des Polygons berechnest, dann musst du zwischen diese…