HToneill's Mod Thread - Theorie und Praxis
-
-
Super, was ich da sehen muss! Lass dir alle Zeit der Welt und denk an guten Kaffee!
*Karo-Kaffee rüberschieb*
-
Der Moment wo einem klar wird, dass man einen besseren Pixel Font Renderer geschrieben hat wie in Photoshop implementiert ist
links: CPU lastiges Photoshop
rechts: Eigenerer GPU Renderer
beides hat eine Kantenglättung. Anti-Aliasing.
Jedoch hat Photoshop immer einen eigenen Algorythmus gehabt der sowas wie Mittelwert für alle Einsatzfälle sein sollte, aber eher dazu führt, dass dieser nirgends optimal gepasst hat.
Somit wirkt das Photoshop Bild (Vektor Font + Kontur) entweder unschärfer oder wahlweise ganz ohne Anti-Aliasing.
F: Zur Hölle Oneill, wie sieht so ein Code aus, der sowas macht?
A:
Code
Alles anzeigenuniform vec4 agk_data; uniform vec3 agk_bordercolor; uniform sampler2D texture0; varying mediump vec2 uvVarying; varying mediump vec4 colorVarying; void main() { vec4 VBuf = vec4(0); // create virtual buffer to write to for(int i = 0; i < int(agk_data.y); i++) // do multisampler process for border { float r = radians( float( (i*2)*180/int(agk_data.y) ) ); vec2 offset = vec2( -cos(r) * 0.2, sin(r) ) * agk_data.x; VBuf = VBuf + texture2D(texture0, uvVarying + offset); VBuf.xyz = agk_bordercolor; } gl_FragColor = mix(VBuf, texture2D(texture0, uvVarying), texture2D(texture0, uvVarying).a); // mix stuff together }
Das ist ein GLSL Shader, der genau so an die Grafikkarte geschickt wird.
ist hierbei die Textur, die in den Shader reinkommt. Der Pixelshader wird dann für jeden Pixel einmal berechnet, und zwar auf einer Fläche, die eine UV Koordinate haben muss, sowas wie der Texturausschnitt auf der Fläche (Face).
Somit wird Pixel für Pixel mit dem was in in der main{} Klammer ist, berechnet.
Die neue Farbe für jeden Pixel wird im RGBA format in
gespeichert. Das kann man dann direkt auf den Bildschirm klatschen, wenn man ein Window mit OpenGL Kontext erstellt hat.
Die Kunst beim Shader programmieren ist, einen Algorythmus zu finden der 1. das macht was du willst und 2. für jeden Pixel funktioniert.
-
-
-
Hier gibt es einen Hintergrund zu GLSL:
https://en.wikipedia.org/wiki/OpenGL_Shading_Language
Es ist C ähnlich, aber alles nur auf das Mindeste reduziert und mit speziellen Funktionen für die Grafikkarte.
Ich habe ein kleines Geschenk für euch generiert:
Sämtliche Ortschaften habe ich durch ein Script laufen lassen, der diese in Transparente Bilder rendert.
Diese könnt ihr über eure Videos oder Bilder legen und zeigen wo ihr gerade wütet.
Ich habe diese euch in drei verschieden Auflösungen zur Verfügung gestellt.
Sieht in der höchsten Auflösung so aus:
Diese könnt ihr hier runterladen:
-
-
Albert Einstein konnte bereits Programmieren ? - Hut ab...
-
Albert konnte alles Er hat auch DayZ gespielt!
-
Albert konnte alles Er hat auch DayZ gespielt!
-
Wann kommen die Wände Meister?
Kannst du dazu was sagen ?
-
?????? ??????,
????? ?????? ??????????? ??????????? ??? ?????? ?ü? ??? ???? ??? ???? ??? ????? ??? ???? ???????. ?????? ??????? ???? ????? ????? ?????? ??? ??????? ??? ???????? ???? ?????? ???? ??????.
??????? ??????? ??? ?? ????? ??????? ?????????? ?ü? ???????????? ?????????????.
?? ??????? ???? ????? ?? ????? ??? ??? ???????????? ???????? ??? ??????? ?????????????????????.
?? ????? ??? ?????? ????? ????????????????? ??? ???% ???? ?? ?????- ?ü?????????
???? ??? ??? ?? ????? ??? ?ö????????, ??? ?????????? ?????? ?? ??? ????? ?? ??ü???, ????? ??? ?????? ?????????? ????????? ????.
???????: ?? ????????? ?? ??????? ?ä??? ????? ??????????????, ??? ??? ??? ?????????? ??????????? ??? ??? ????? ?????
???? ??? ??? ????????? ?ü?? ????, ???? ??? ?? ???? ?????????? ?????.
???? ????? ??? ?????? ???. (???? ??? ??????, ????????????)
?????????? ???????, ???? ????? ????:
?? ???? ?? ????? ??????, ??? ?? ?????? ????
????? ????ß?,
????????
-
Ich glaube er wollte nur eine Schätzung von dir in welchem Zeitraum deiner Erfahrung nach man sich darauf freuen kann.
-
Schätzungen und Zeitangaben nur bei Kostenvoranschlag
-
schon okay, ich kann das oben eh nich lesen
-
Ich habe vollstes Verständnis:
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
?????? ??????,
????? ?????? ??????????? ??????????? ??? ?????? ?ü? ??? ???? ??? ???? ??? ????? ??? ???? ???????. ?????? ??????? ???? ????? ????? ?????? ??? ??????? ??? ???????? ???? ?????? ???? ??????.
??????? ??????? ??? ?? ????? ??????? ?????????? ?ü? ???????????? ?????????????.
?? ??????? ???? ????? ?? ????? ??? ??? ???????????? ???????? ??? ??????? ?????????????????????.
?? ????? ??? ?????? ????? ????????????????? ??? ???% ???? ?? ?????- ?ü?????????
???? ??? ??? ?? ????? ??? ?ö????????, ??? ?????????? ?????? ?? ??? ????? ?? ??ü???, ????? ??? ?????? ?????????? ????????? ????.
???????: ?? ????????? ?? ??????? ?ä??? ????? ??????????????, ??? ??? ??? ?????????? ??????????? ??? ??? ????? ?????
???? ??? ??? ????????? ?ü?? ????, ???? ??? ?? ???? ?????????? ?????.
???? ????? ??? ?????? ???. (???? ??? ??????, ????????????)
?????????? ???????, ???? ????? ????:
?? ???? ?? ????? ??????, ??? ?? ?????? ????
????? ????ß?,
????????
Warum hast du zwei Spannungswandler ?
Und sind das Step up oder Step down wandler?
Ist das das Raspberry Pi Pico ? -
Fitzelige Controller arbeit, ufff.
Ich fand Assembler schon lästig genug.Grüße aus Baden Württemberg zurück
-
Sowas ähnliches wie ein PI:
https://www.european-processor-initiative.eu/
Industrieperipherie hat sehr unterschiedliche Spannungen.
-