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.

KD-Baum in GLSL

Anzahl der Antworten 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

OpenGL-shader-cant bind-Attribut

Anzahl der Antworten 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

Aktualisierung ShaderMaterial-Attribut in three.js

Anzahl der Antworten 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:

GLSL, Wie zu gewährleisten größtmögliche float-Wert, ohne überlauf

Anzahl der Antworten 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

GLSL fragment-shader-syntax Fehler

Anzahl der Antworten 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()

GLSL, Array von Texturen unterschiedlicher Größe

Anzahl der Antworten 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,

Zugriff auf Mehrere FBO-Texturen in GLSL zu erstellen, die eine andere textur

Anzahl der Antworten 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

OpenGL-GLSL Cel Shading und Outline-Algorithmus

Anzahl der Antworten 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

Textur-Wiederholung und spannen in shader

Anzahl der Antworten 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);

GLSL-Präprozessor

Anzahl der Antworten 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

Aktivieren einer Erweiterung auf eine Three.js shader

Anzahl der Antworten 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",

OpenGL 3.3 multitexture: GL_TEXTURE1 und nach sind immer schwarz (Nur GL_TEXTURE0 gut funktioniert)

Anzahl der Antworten 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

Beste Weg, um zu erkennen, NaN ' s in OpenGL und Shader

Anzahl der Antworten 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

GLSL "in" structs

Anzahl der Antworten 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

Wie packt man einen 32bit int In 4, 8bit ints in glsl / webgl?

Anzahl der Antworten 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

Was ist die Logik für die Bestimmung eines min - /max-Vektor in GLSL?

Anzahl der Antworten 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

Fragment-Shader GLSL für textur, Farbe und textur/Farbe

Anzahl der Antworten 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

Mit beiden phong und Texturen in glsl

Anzahl der Antworten 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

GLSL: rotation mit rotation vector?

Anzahl der Antworten 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

ThreeJS vordefinierten shader Attribute / Uniformen

Anzahl der Antworten 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

was ist die fwidth glsl Funktion tatsächlich verwendet?

Anzahl der Antworten 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

GPGPU-Programmierung mit OpenGL ES 2.0

Anzahl der Antworten 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

Senden zwei Texturen zu GLSL shader

Anzahl der Antworten 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

Transponieren einer mat4 in OpenGL ES 2.0 GLSL

Anzahl der Antworten 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

Kann nicht integer-vertex-Parametern arbeiten in GLSL 1.5

Anzahl der Antworten 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

Tut gl_FragColor tun alles, was gl_FragData nicht?

Anzahl der Antworten 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,

OpenGL/GLSL: Was ist der beste Algorithmus zum Rendern von Wolken/Rauch aus volumetrischen Daten?

Anzahl der Antworten 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

Warum ist das glsl shader verursacht eine "Ungültiger Vorgang", wenn Sie versuchen, das Programm zu verwenden?

Anzahl der Antworten 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;

Wie funktioniert die Vermischung der Arbeit mit GLSL ES-fragment shaders in WebGL?

Anzahl der Antworten 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

Warum Barriere synchronisieren shared memory, wenn memoryBarrier nicht?

Anzahl der Antworten 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

GLSL 4.1 mit gl_ModelViewProjectionMatrix

Anzahl der Antworten 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

OpenGL Shading Language Verschiedenen Arten von Variablen (Qualifier)

Anzahl der Antworten 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)

Farb-interpolation im Fragment-Shader GLSL?

Anzahl der Antworten 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

GLSL: vertex shader zum fragment shader ohne varing

Anzahl der Antworten 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,

Erstellen eines GLSL-Arrays von Uniformen?

Anzahl der Antworten 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

Was extractly mat3(a mat4 matrix) - Anweisung in glsl zu tun?

Anzahl der Antworten 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?

Effiziente Bikubische Filterung-code in GLSL?

Anzahl der Antworten 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

Wie führe ich bit-Operationen in glsl

Anzahl der Antworten 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

GLSL Indizierung in uniform-array mit variabler Länge

Anzahl der Antworten 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

GLSL: gl_FragCoord Fragen

Anzahl der Antworten 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

OpenGL ES (2.0) Shading-Language: How to input boolean in vertex shader und pass auf fragment-shader?

Anzahl der Antworten 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

glsl sampler2DShadow und shadow2D Klärung

Anzahl der Antworten 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

Wie cast von int zu float in GLSL (WebGL)?

Anzahl der Antworten 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

Finden Sie die pixel-Farbe in einer bestimmten Koordinate aus einer sampler2D mithilfe von GLSL

Anzahl der Antworten 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

gl_FragCoord.x -, y -, z 1 für alle Pixel und w die Tiefe

Anzahl der Antworten 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

GLSL <> Betreiber auf eine vec4

Anzahl der Antworten 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 =

Index-Ausdruck muss Konstante - WebGL/GLSL Fehler

Anzahl der Antworten 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

Wie kann ich variieren der Punktgröße in OpenGL glBegin(GL_POINTS)?

Anzahl der Antworten 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

Gaußsche Unschärfe - Standardabweichung -, radius-und kernel-Größe

Anzahl der Antworten 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:

Fragment-shaders: output-Variablen

Anzahl der Antworten 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