Suchergebnisse
Suchergebnisse 21-40 von insgesamt 340.
-
"Boden" auffüllen
BeitragMan kann dafür Primitiven benutzen, mit den Positionen als Texturkoordinaten. Diese müssen dann noch passend skaliert werden. Primitiven
-
Eigentlich wollte ich einen Glasshader machen, wurde dann ein Normalmappingshader. Es geht mir hierbei um die Attribute für das Vertexformat. Und zwar habe ich festgestellt, dass wenn man vertex_format_add_custom benutzt nur als Verwendungszweck vertex_usage_position, vertex_usage_normal, vertex_usage_textcoord und vertex_usage_colour benutzen kann. Sobald ich aber vertex_usage_tangent oder vertex_usage_binormal nutzen möchte fürs Normalmapping, dann gibt es als Ergebnis komplett verfälschte Wer…
-
Externe Sounds laden
BeitragDein Code ist ja mal richtig schlampig geschrieben. Nagut wer sich den Bytecaos anhören möchte von dem Header der kann es verwenden. Es wäre aber wirklich besser wenn man den Header auslesen würde und dann die Attribute entsprechend setzt. buffer_delete wird dann aufgerufen, wenn der Sound nicht mehr benötigt wird. Solange er benötigt wird, muss der Computer wissen was er abspielt. Abgesehen davon gibt es dafür jetzt die Audio Groups. Dort kann man die Sounds je nach Bedarf in selbst bestimmten …
-
16 Bytes sind vollkommen vertretbar, da der Buffer nur temporär ist. Diese leeren Bytes sollte man allerdings nicht mit schicken, wodurch der Vorteil von buffer_tell deutlich wird. Es besteht aber auch kein Zwang Buffer mit der Größe von Zweierpotenzen zu erstellen. Der Typ buffer_grow neigt allerdings zu Zweierpotenzen.
-
Er braucht die Größe des Buffers nicht für das abschicken eines Buffers über die network Funktion, sondern für den Speicherplatz der für den statischen Buffer reserviert werden soll. Und da hilft dir weder die Funktion buffer_tell noch die Funktion buffer_get_size, weil der Buffer zu diesem Zeitpunkt logischerweise noch garnicht existiert. Natürlich kann man auch einen Dynamischen Buffertyp nehmen. Dieser ist aber wesentlich langsamer und Speicheruneffizienter. Was Dufner hier machen will ist, v…
-
Aktiver Schatten Script !
BeitragIrgendwie habt ihr beide recht. Es ist so, je mehr Lichtquellen es gibt, desto weniger fallen die Schatten auf, weil der Schatten von der anderen Lichtquelle ausgeleuchtet wird, dort aber nur das Licht von einer Lichtquelle erscheint. Wo das Licht von zwei Lichtquellen hinreicht, ist es logischerweise heller. Das ist mit nur einer Surface natürlich nicht so einfach realisieren. Ich verweise einfach mal auf meine Lichtengine die das ganze korrekt simuliert. Ich finde diese Engine aber als low per…
-
Swing Rope (schwingendes Seil)
BeitragDrachen ich habe noch nie jemanden gesehen der den <> Operator benutzt. Benutze doch bitte den gleichbedeutenden Operator !=, welcher auch dokumentiert ist. Das hat mich etwas verwirrt und das soll dann ein Anfänger verstehen?
-
Mausklick "simulieren"
BeitragWow ihr habt soeben gekonnt meinen Edit ignoriert. Gut, nächstes mal mach ich am besten einen neuen Post.
-
Ob du es beim Addieren abrundest oder nachher macht keinen großen Unterschied. Das Ergebnis ist in jedem Fall, das man Ganzzahlen bekommt. Als Lösung finde ich es aber akzeptabel. Seperation bei den Tiles sollte man aber trotzdem immer anwenden. Eine andere einfache Lösung gibt es nicht, neben AA und interpolate between Pixel vieleicht noch.
-
Mausklick "simulieren"
BeitragAuf die schnelle konnte ich keine Funktion finden die einen Mausklick simuliert. Allerdings kannst du die Konstante mb_any verwenden, sodass es auf jeden Klick reagiert. EDIT: device_mouse_dbclick_enable(bool); macht das was du willst.
-
getpixel ist eine extrem langsame Funktion, wodurch der gesamte Geschwindigkeitsgewinn nutzlos ist. In der Regel sind das Buffer die das erledigen, wobei viele davon einfach den RAM und den VRAM belegen und diese dann Synchroniesieren. Hier mal unnützes Wissen, für Buffertypen: * Ressourcen Nutzung * Default * Dynamic * Imutable * Staging * GPU-Lesen * ja * ja * ja * ja * GPU-Schreiben * ja * * * ja * CPU-Lesen * * * * ja * CPU-Schreiben * * ja * * ja Im Game Maker kann man die Buffertypen aber …
-
Habe es selber gerade nochmal überprüft und es zeichnet tatsächlich weiter. Dann nehme ich meine Aussage zurück. Mich würde aber trotzdem interessieren, warum es damals nicht funktionierte. Das war halt damals die einzige logische Schlussfolgerung, weil nach dem Bewegen des Views, das Sprite plötzlich verschwand. Ich werde es wohl nie Erfahren...
-
Wenn man außerhalb des Sichtberreiches drawt, zeichnet er tatsächlich nichts. Das habe ich herausgefunden, wo diese Eigenschaft mir zum Verhängniss wurde. Ich wollte per Transformationen, die Spriteposition verändern. Und wenn man ursprünglich außerhalb des Views drawt und sich dann das Sprite per transformation wieder im View, so zeigte er es plötzlich nicht mehr an. Es ploppt dann einfach weg, wenn man den View bewegt. Ich persönlich mag diese Eigenschaft deswegen nicht.
-
Tatsächlich ist das eine bislang ungelöste Frage der Menschheit. Wie negiert man eine Zahl? Meine Antwort ist folgende: val = ln(1/exp(val)); Durch mehrfachen Testen und Ausprobieren konnte ich den Code sogar vereinfachen auf val = -val; Ob dies so richtig ist, dass weiß ich leider nicht. Sorry für diesen Post...
-
Es gibt Situationen wie diese hier, wo ein if durchaus Sinn macht. Wenn es kein if gäbe, gäbe es auch kein discard. Und diese werden für Masken unverzichtbar benötigt. Him666: Wo auch immer du diesen Satz gelernt hast, vergiss ihn wieder. Was allerdings stimmt ist, dass man die if Bedinnungen sehr rahr benutzen sollte, weil ältere Grafikkarten trotzdem beide if Branches ausführt und den anderen verwirft. Das hat mit der sehr starken Parallelisierung zu tun, wo eine feste Laufzeit der Shader erwa…
-
Dann ist es in diesem Fall sogar etwas einfacher. Anstatt die UV Koordinaten zu nehmen, benutzt du die Vertexkoordinaten und übergibst diese per varying. object_space_pos beinhaltet die Position eines Vertex, diese vergleichst du im Fragmentshader mit der Schnittposition die du per uniform übergibst. Ungefähr so: Vertex: Quellcode (20 Zeilen) Fragment: Quellcode (16 Zeilen) Und im Draw Event dann so: GML-Quellcode (4 Zeilen) Ich rate dir das Schlüsselwort discard zu benutzen, anstatt die Alpha a…
-
Screenshake for Dummies
BeitragEs ist nicht falsch ein Tutorial darüber zu machen. Allerdings habe ich ein paar Vorschläge zur Umsetzung:- Benutze die GML Tags, so musst du nicht Mühevoll deinen Code mit Farben ausschmücken. Einfach ein klick auf das weiße Quadrat, wo GML draufsteht. - Ein Tutorial ist keine Anleitung! Sag nicht was man tun muss, sondern warum man das tut. Das ist mir schon öfters bei dir aufgefallen. - Unter welchen Umständen kann man deine vorgestellte Methode benutzen. Erwähne hier konkret, dass ein View a…
-
Ich habe mal ein kleines Update für die Engine gemacht. Es beinhaltet wesentlich neue komfortable Funktion, welche das Arbeiten mit der Engine vereinfachen soll. Als optische Neuerung wurden transparente Objekte hinzugefügt. Diese können zum einen für Fenster Gläsern etz. benutzt werden, aber auch für Objekte, welche nur einen leichten Schatten werfen sollen, wie z.B eine verschiebbare Kiste. Man kann auch beliebige Tönungen benutzen, z.B grünes Glas. Hier ein Bild um sich das vorzustellen. (Ver…