Tag: glsl
Die OpenGL Shading Language (GLSL) ist die standard-Programmiersprache für Shader in OpenGL. Es gibt viele Versionen der Sprache, wobei jede version entspricht einer OpenGL-version. OpenGL ES 2.0 und höher verfügen über separate Versionen von GLSL.
1
Antworten
nach einem Tag versucht, herauszufinden, wie zu implementieren, die einen kd-Baum in OpenGL/GLSL ich bin ziemlich frustriert ... Ich erkläre meine KD-Knoten, wie dies in GLSL: layout(std140) uniform node{ ivec4 splitPoint; int dataPtr; } nodes[1024]; Splitpunkt hält
2
Antworten
ich habe drei glsl Attribute in meiner vertex-shader attribute highp vec4 Position; attribute mediump vec4 UV; attribute mediump vec3 Normal; dass im Bindung mit glBindAttribLocation(program, 0, "Position"); glBindAttribLocation(program, 1, "Normal"); glBindAttribLocation(program, 2, "UV"); Aber ich erhalte eine
1
Antworten
Aus der three.js tutorial über Shader, wir lernen, wir können aktualisieren, einheitliche Werte einer ShaderMaterial: var attributes = { displacement: { type: 'f', //a float value: //an empty array } }; var uniforms = { amplitude:
3
Antworten
Von dem, was ich verstehe, gibt es keine FLT_MAX Typ von Konstanten in GLSL. Gibt es eine Möglichkeit, um sicherzustellen, dass ein Schwimmer stellt den größten möglichen Wert, ohne überlauf? EDIT: Da er gefragt wurde, was ich
2
Antworten
folgende einfache fragment-shader-code schlägt fehl, und mir bleibt eine sinnlose Meldung in der log: ERROR: 0:1: 'gl_Color' : syntax error syntax error void main() { vec4 myOutputColor(gl_Color); gl_FragColor = myOutputColor; } während der folgenden Werke: void main()
2
Antworten
Wenn dabei multitexturing in GLSL, gibt es trotzdem eine schwenkbare Reihe von Samplern, wo jede textur eine andere Größe? Diese syntax ist nicht gültig: uniform sampler2D texArray[5]; Recht jetzt scheint es die einzige Möglichkeit ist, individuell erstellen,
2
Antworten
Erstellte ich 4 Texturen und fügen Sie Sie zu FBO, benannt fbo_texture0 - fbo_texture3. Alle von Ihnen sind erfolgreich erstellt wurde, wie der folgende screenshot: Bild 1 Nun, ich wollte die 5. textur, die gewonnen wird aus
2
Antworten
Habe ich erfolgreich eine cel-shader mit glsl. Aber mein problem ist, über die Gliederung, die alles und jedes Beispiel von opengl auf das internet ist ziemlich alt, nicht mit der aktuellen Technologie, so langsam Techniken etc... deshalb
1
Antworten
Habe ich die folgenden fragment-und vertex-shader, in dem ich wiederhole textur: //Fragment vec2 texcoordC = gl_TexCoord[0].xy; texcoordC *= 10.0; texcoordC.x = mod(texcoordC.x, 1.0); texcoordC.y = mod(texcoordC.y, 1.0); texcoordC.x = clamp(texcoordC.x, 0.0, 0.9); texcoordC.y = clamp(texcoordC.y, 0.0, 0.9);
3
Antworten
Ich versuche, herauszufinden, warum die folgenden GLSL-code funktioniert nicht: #ifndef VertexPositionType #define VertexPositionType vec3 #endif in StandardVertexShaderInputs { VertexPositionType ds_VertexPosition; }; vec4 ProjectVertexPosition(in vec4 v); vec4 ProjectVertexPosition(in vec3 v); void main() { gl_Position = ProjectVertexPosition(ds_VertexPosition); } Den
2
Antworten
Wie kann ich die Erweiterung aktivieren auf ein Three.js shader? Mein code bisher: erste Erweiterung: var domElement = document.createElement( 'canvas' ); var gl = domElement.getContext('webgl') || domElement.getContext('experimental-webgl'); gl.getExtension('OES_standard_derivatives'); auf meinem shader: fragmentShader: [ "#extension GL_OES_standard_derivatives : enable",
1
Antworten
Jede textur nach GL_TEXTURE0 (textur, die auf slot 0) ist schwarz. Fragment shader (Beispiel-code zu überprüfen, die verschiedenen Texturen durch GEWICHTE): #version 330 uniform sampler2D g_ColorTex; uniform sampler2D g_DepthTex; uniform sampler2D g_DofNearBlurTex; uniform sampler2D g_DofDownBlurTex; in vec4
2
Antworten
Lief ich in das, was schien, ein mysteriöser bug, dass ich heute morgen das Gefühl, sehr viel Glück zu haben stolperte über eine Lösung sehr schnell. War ich der Division durch einen Zähler zu produzieren Durchschnitt innerhalb
1
Antworten
Darf ich nicht verwenden, eine Struktur mit der in Stichwort, ich bin? Zum Beispiel: struct Rect { float x,y,width,height; }; layout(location = 7) in Rect TexSrc; Ist es schwierig zu Google, aber ich erhalte eine Fehlermeldung, wenn
3
Antworten
Ich bin auf der Suche zu parallelisieren, einige komplexe Mathematik, und webgl sieht aus wie der perfekte Weg, es zu tun. Das problem ist, Sie kann nur Lesen 8-bit-Ganzzahlen von Texturen. Ich würde am Liebsten auf 32
1
Antworten
Ich bin etwas überrascht, ich weiß nicht, das schon, aber es schadet nie zugeben, du bist immer noch lernen 🙂 In GLSL gibt es min und max Funktionen, die entsprechend Ihrer Dokumentation: Rückkehr der kleinere/größere der beiden
1
Antworten
Möchte ich erreichen, GLSL Shader, kann die textur und die Farbe meiner vertex-Objekte. In der Tat, es funktioniert für mich in 2 von 3 Fällen: 1) Wenn ich nur noch eine textur zugeordnet (aber keine bestimmte Farbe
1
Antworten
Ich habe ein problem mit meinem Shader. Ich versuchte Texturen und phong-Schattierung, in meinem Spiel verwenden glsl, aber ich kann nicht bekommen, eine gute Wirkung. Ich habe seit der Suche in google für eine lange Zeit, und
1
Antworten
Ich versuche zu tun, Skelett-animation mit GLSL. Für jeden Knochen, ich habe eine translation(x,y,z) und eine rotation(pitch, roll, yaw), (in Grad). Ich könnte konstruieren eine 4x4-matrix, die für jeden Knochen, aber das würde eine Menge register-Platz in
4
Antworten
Habe ich begonnen, mit ThreeJS die WebGL-renderer nach einigen "normalen" WebGL ohne zusätzliche Bibliotheken + GLSL-Shadern. Ich bin versucht, zu schreiben benutzerdefinierte Shader nun in meinem ThreeJS-Programm, und ich bemerkte, dass ThreeJS kümmert sich um eine Menge
2
Antworten
Jedes mal, wenn ich betrunken durchsuchen, so sehe ich eine unbeantwortete fwidth Frage. Und es macht mich Frage mich, wie es eigentlich gedacht war. Das Lesen der Dokumentation ist es: abs(dFdx(p)) + abs(dFdy(p)). Es ist also nicht
4
Antworten
Ich versuche zu tun, etwas Bildverarbeitung auf der GPU, z.B. median, Unschärfe, Helligkeit, etc. Die Allgemeine Idee ist, etwas zu tun, wie dieser Rahmen aus GPU Gems 1. Ich in der Lage bin zu schreiben, die GLSL
1
Antworten
Beim senden von zwei Texturen, um meine GLSL shader eigentlich nur einmal kommt. Was merkwürdig ist ist die erste textur die ich bind wird für beide Texturen slots in meinem shader. Dies führt mich zu glauben, dass
2
Antworten
Ich würde gerne transponieren einer matrix in meiner OpenGL ES 2.0 vertex-shader, aber anscheinend ist mein iPad 3 nicht unterstützt GLSL #version 120, die erforderlich ist für die integrierte Funktion transpose(mat4). Ich weiß, es gibt Möglichkeiten, zu
2
Antworten
Ich bin mit einer OpenGL 3.2 Zusammenhang mit GLSL 1.5 und für einige Grund-integer-Attribute (Datentyp "int", "uint", ivecX, oder uvecX) immer Lesen als " 0 " in die vertex-shader. Ich bin deklarieren mit: in int name; und
1
Antworten
Als es auf dem zinn sagt: gibt es einen Grund, jemals zu nutzen gl_FragColor statt gl_FragData[0]? Wenn nicht, warum dann nicht gl_FragColor noch vorhanden??? Ist es nur ein Vermächtnis aus einer Zeit, als gl_FragData nicht gäbe? (Ja,
1
Antworten
Möchte ich zum Rendern der 3D-Volumen-Daten: Dichte(zugeordnet werden kann, die als Alpha-Kanal), Temperatur(zugeordnet werden können, RGB). Derzeit bin ich simulationg maximum-Intensitäts-Projektion, z.B.: rendering der meisten dicht/opaque pixels am Ende.Aber diese Methode verliert die Tiefenwahrnehmung. Ich würde gerne
1
Antworten
Ich überprüfe die logs und alles kompiliert einwandfrei. Der shader sieht wie folgt aus: Vertex: #version 330 core layout(location = 0) in struct InData { vec3 position; vec4 color; } inData; out struct OutData { vec3 position;
3
Antworten
Ich versuche, eine einfache Wirkung, um die Anzeige mit Hilfe von WebGL lassen. Natürlich, dies bedeutet, ich bin mit dem fragment-shader Sprache definiert, in der GLSL ES 1.0-Spezifikation. Den code, mit dem ich arbeite, ist weitgehend aus
1
Antworten
Den folgenden compute shader GLSL einfach kopiert inImage zu outImage. Es ist abgeleitet von eine komplexere post-processing-pass. In den ersten paar Zeilen main(), einen einzigen thread, lädt der 64 Pixel der Daten in das shared-array. Dann, nach
1
Antworten
Arbeite ich an einem glsl-shader-Programm als Teil eines plugin, das läuft in einem "closed-source" - Anwendung. Die Anwendung (maya) ist, geschrieben unter Benutzung von opengl 2.1, aber unsere Grafikkarten unterstützen opengl/glsl 4.1 und will ich mit Tesselation
3
Antworten
Ich habe das schreiben von Programmen mit OpenGL. Vor kurzem habe ich angefangen zu lernen, OpenGL Shading Language. Ich bin ein Neuling; also bitte ausführliche Antworten. Meine Fragen sind: Was sind die verschiedenen Arten von Variablen (Qualifier)
3
Antworten
Ich muss die Karte einen skalaren Wert zu Farbe, Messbereiche von 0 bis 1. Es geht von GRÜN auf ROT (von 0 zu 1) die Lineare Interpolation unter Verwendung der textur-Koordinaten (auch im Bereich von 0 bis
2
Antworten
So übertragen Sie Daten vom vertex shader zum fragment shader ohne änderungen? Ich muss sagen, die vertex-Pixel, die Sie mit dieser Farbe. Diese Farbe, die ich erhalten können, nur im vertex-shader. Was meinst du mit "Diese Farbe,
2
Antworten
Ich möchte zu verlassen, OpenGL Lichter und meine eigenen. Ich möchte, dass meine Shader ermöglichen eine variable Anzahl von Leuchten. Können deklarieren wir ein array von Uniformen in GLSL-Shader? Wenn ja, wie würden wir die Werte für
2
Antworten
Mache ich eine per-fragment Beleuchtung und bei der Korrektur von normalen vecter, ich habe diesen code: vec3 f_normal = mat3(MVI) * normal; Wo MVI ist: mat4 MVI = transpose(inverse(ModelViewMatrix));. Also, was ist die Rückkehr nach mat3(MVI) Aussage?
8
Antworten
Frage ich mich, ob jemand hat einen vollständigen, funktionierenden und effizienten code zu tun "Bikubisch" textur-Filterung in glsl. Es ist dies: http://www.codeproject.com/Articles/236394/Bi-Cubic-and-Bi-Linear-Interpolation-with-GLSL oder https://github.com/visionworkbench/visionworkbench/blob/master/src/vw/GPU/Shaders/Interp/interpolation-bicubic.glsl aber beide do 16 textur liest, wo nur 4 sind notwendig: https://groups.google.com/forum/#!topic/comp.Grafik.api.opengl/kqrujgJfTxo Jedoch
2
Antworten
Wie führe ich bit-Operationen in glsl? Mit den normalen C-Stil bitweise Operatoren |, &, ^ oder ! funktioniert nicht. Siehe Beispiel-code hier: stackoverflow.com/a/23730491/763355 InformationsquelleAutor GameFreak | 2009-11-09
1
Antworten
Ich bin vorbei ein uniform-array-geometrie-shader und wollen, index in es mit eine variable. Ich kann die variable Länge array & index mit fester Anzahl (numerische Konstante) ODER kann ich das definieren einer festen Länge array & index
2
Antworten
Ich bin das Experimentieren mit GLSL für OpenGL ES 2.0. Ich habe einen quad und eine textur, die ich bin-rendering. Ich kann erfolgreich zu tun es auf diese Weise: //VERTEX SHADER attribute highp vec4 vertex; attribute mediump
2
Antworten
Ich versuche, einen booleschen Wert übergeben in meiner vertex-shader zum ersten mal; ich habe nur mit Schwimmer bis jetzt. Den boolean in Frage primitiv-spezifisch, daher kann nicht weitergegeben werden wie eine uniform. Allerdings hat es den gleichen
1
Antworten
Schnelle hintergrund von wo ich bin (um sicherzugehen, dass wir auf der gleichen Seite, und Plausibilitätsprüfung, wenn ich bin fehlt/Annahme etwas dumm): Ziel: ich möchte meine Szene Rendern mit Schatten, mit deferred lighting und shadowmaps. Kampf: finden
1
Antworten
Mein code ist (innerhalb des void main): float res; for(int i=0; i<15; i++) { res = float(i)/15.0; //... } Leider bekomme ich einen Syntaxfehler bei float(i)/15.0 Wenn ich nur schreiben i/15.0, dann die Fehlermeldung: wrong operand types
1
Antworten
Ich habe ein 3D-Objekt in meiner Szene und der fragment-shader für dieses Objekt erhält eine textur, die hat die gleiche Größe des Bildschirms. Ich will die Koordinaten von der aktuellen fragment und finden Sie die Farbe, die
1
Antworten
Ich bin mit THREE.js mit shader. Ich versuche, den zbuffer Informationen. Vertex-shader: //switch on high precision floats #ifdef GL_ES precision highp float; #endif void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); } Fragment-shader: #ifdef
1
Antworten
Ich bin auf der Suche auf einige neuere GLSL-code, der nicht kompiliert zu meiner aktuellen version von OpenGL, und ich Frage mich, was die Kurzform der folgenden Mittel: vec4 base; if (base < 0.5) { result =
3
Antworten
Ich habe Probleme beim Zugriff auf ein array in einem fragment-shader mit einem nicht-Konstanten int als index. Ich habe entfernt die Formel als würde es nicht viel Sinn hier sowieso nicht, aber mein code ist gedacht, um
5
Antworten
Gibt es eine Möglichkeit zum variieren der Punktgröße, wenn die Zeichnung viele Punkte? Ich weiß, es gibt die glPointSize(float), aber gibt es einen Weg, es zu tun in einer 'batch' oder array? Ich würde gerne die Punkte
1
Antworten
Habe ich umgesetzt gaussian blur-fragment-shader in GLSL. Ich verstehen die wichtigsten Konzepte, die hinter all der ist es: Faltung, die Trennung von x-und y-mit Linearität, mehrere Durchgänge zu erhöhen, radius... Ich habe noch ein paar Fragen aber:
3
Antworten
Lesen der GLSL 1.40 Spezifikation: Fragment Ausgänge können nur schweben, Gleitkomma-Vektoren, signiert oder unsigned Integer oder integer-Vektoren, oder arrays solcher. Matrizen und Strukturen können nicht ausgegeben werden. Fragment Ausgänge deklariert werden, wie in der folgende Beispiele: out