Swiftui Wie man Shader "Was auch immer" anwendet, steht hinter der AussichtIOS

Programmierung für iOS
Anonymous
 Swiftui Wie man Shader "Was auch immer" anwendet, steht hinter der Aussicht

Post by Anonymous »

Ich schreibe ein Programm, das einige Bilder enthält, in denen Sie scrollen können, und ich habe auch eine rechteckige Ansicht, die als Pixeletteview bezeichnet wird. Wenn ich den Inhalt dahinter pixeln möchte, ist es leicht, meinen Shader auf die Ansicht anzuwenden und zu arbeiten. Der Hintergrundinhalt der aktuellen Ansicht bedeutet, dass der Hintergrundinhalt im aktuellen Hintergrund neu gezogen wird und den Effekt darauf angewendet wird. PrettyPrint-Override ">

Code: Select all

struct ContentView: View {
var body: some View {
ZStack() {
Content()
PixeleteView()

}
}
}
Inhalt ist nur ein Bildlaufbilder und Texte, es kann jedoch irgendetwas sein.

Code: Select all

struct PixeleteView: View {
var body: some View {
.
.
.
.background(

//
// This is where I want my shader to be
// However instead of this it must change the background of
// this view.
//
// You can think of this like
// Rectangle()
//    .fill(.ultraThinMaterial)
//
)
.clipShape(RoundedRectangle(cornerRadius: 50))
}
Und mein Shader ist eine einfache Metalldatei, um den Inhalt
mit .Layereffect auf
// mysahder.metal
">
zu prüfen.

Code: Select all

#include 
#include 
using namespace metal;

[[ stitchable ]] half4 pixellate(float2 position, SwiftUI::Layer layer, float strength) {
float min_strength = max(strength, 0.0001);
float coord_x = min_strength * round(position.x / min_strength);
float coord_y = min_strength * round(position.y / min_strength);
return layer.sample(float2(coord_x, coord_y));
}
Ich glaube also, ich könnte die Idee bringen, was ich versuche, anstatt Rechteck () zu verwenden (.ultrathinmaterial) Ich möchte meinen eigenen Effekt implementieren.

Code: Select all

Image(systemName: "figure.run.circle.fill")
.font(.system(size: 300))
.layerEffect(ShaderLibrary.pixellate(.float(10)), maxSampleOffset: .zero)
Dieser Code erzeugt das Beispiel für das statische Bild, aber ich möchte diesen Effekt auf alles anwenden, was dahinter steckt. /> Und um zu beschreiben, was ich hier wirklich möchte, ist die Figma -Darstellung dessen, was ich implementieren möchte, um zu verstehen, dass ich einen Blick auf das Bild ansehen kann. /> < /p>
Ich möchte diesen Effekt erneut an vielen Stellen wiederverwenden, damit ich diese nicht wirklich auf individuelle Ansicht in Inhalt anwenden möchte. Ich glaube, es muss weniger komplexe Möglichkeiten geben, dies zu erreichen. Ich möchte jedoch, dass es den Inhalt dahinter manipuliert/verzerrt. Dieser Teil ist wichtig.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post