[openrndr-demos] Clean-up and fix tessellation shader demos for Intel GPUs

This commit is contained in:
Edwin Jakobs
2020-07-19 12:05:37 +02:00
parent cb6eed5c00
commit cc2d9522f4
13 changed files with 20 additions and 76 deletions

View File

@@ -14,6 +14,8 @@ dependencies {
demoImplementation(project(":orx-parameters"))
demoImplementation(project(":orx-noise"))
demoImplementation(project(":orx-shader-phrases"))
demoImplementation("org.slf4j:slf4j-simple:1.7.30")
demoImplementation("org.openrndr:openrndr-core:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion")

View File

@@ -43,10 +43,7 @@ fun main() {
shader.uniform("model", drawer.model)
driver.drawVertexBuffer(shader, listOf(vb), DrawPrimitive.PATCHES, 0, vb.vertexCount)
shader.end()
}
}
}

View File

@@ -2,9 +2,6 @@
out vec4 o_color;
in vec3 va_position;
in vec3 va_normal;
in vec4 v_addedProperty;
void main() {
o_color = v_addedProperty;

View File

@@ -19,9 +19,6 @@ uniform vec3 offset;
void main() {
int i;
for(i = 0;i < gl_in.length();i++) {
v_addedProperty = vertices[i].v_addedProperty;
va_normal = vertices[i].va_normal;
va_position = vertices[i].va_position;
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}

View File

@@ -2,12 +2,6 @@
out vec4 o_color;
//in vec3 va_position;
//in vec3 va_normal;
//in vec4 v_addedProperty;
void main() {
o_color = vec4(1.0, 0.0, 0.0, 1.0);
}

View File

@@ -11,16 +11,9 @@ vec3 bezier4(vec3 a, vec3 b, vec3 c, vec3 d, float t) {
return mix(bezier3(a, b, c, t), bezier3(b, c, d, t), t);
}
struct Vertex {
vec3 va_position;
vec3 va_normal;
vec4 v_addedProperty;
};
layout(isolines) in;
in vec3 cva_position[];
uniform mat4 proj;
uniform mat4 view;
uniform mat4 model;

View File

@@ -2,12 +2,6 @@
out vec4 o_color;
//in vec3 va_position;
//in vec3 va_normal;
//in vec4 v_addedProperty;
void main() {
o_color = vec4(1.0, 0.0, 0.0, 1.0);
}

View File

@@ -3,11 +3,6 @@
layout (lines) in;
layout (line_strip, max_vertices = 2) out;
in InVertex {
vec3 va_position;
vec3 va_normal;
vec4 v_addedProperty;
} vertices[];
out vec3 va_position;
out vec3 va_normal;
@@ -19,9 +14,6 @@ uniform vec3 offset;
void main() {
int i;
for(i = 0;i < gl_in.length();i++) {
v_addedProperty = vertices[i].v_addedProperty;
va_normal = vertices[i].va_normal;
va_position = vertices[i].va_position;
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}

View File

@@ -4,7 +4,6 @@ layout(vertices = 4) out; // 4 points per patch
uniform int resolution;
in vec3 va_position[];
out vec3 cva_position[];

View File

@@ -11,17 +11,9 @@ vec3 bezier4(vec3 a, vec3 b, vec3 c, vec3 d, float t) {
return mix(bezier3(a, b, c, t), bezier3(b, c, d, t), t);
}
struct Vertex {
vec3 va_position;
vec3 va_normal;
vec4 v_addedProperty;
};
layout(isolines) in;
in vec3 cva_position[];
uniform mat4 proj;
uniform mat4 view;
uniform mat4 model;

View File

@@ -34,27 +34,15 @@ void main() {
// output a triangle strip encoded quad
v_addedProperty = vertices[0].v_addedProperty;
va_normal = vertices[0].va_normal;
va_position = vertices[0].va_position;
gl_Position = pvm * vec4( vec4(position[0],1.0) + perp0 * weight);
EmitVertex();
v_addedProperty = vertices[0].v_addedProperty;
va_normal = vertices[0].va_normal;
va_position = vertices[0].va_position;
gl_Position = pvm * vec4( vec4(position[0],1.0) - perp0 * weight);
EmitVertex();
v_addedProperty = vertices[1].v_addedProperty;
va_normal = vertices[1].va_normal;
va_position = vertices[1].va_position;
gl_Position = pvm * vec4( vec4(position[1],1.0) + perp1 * weight);
EmitVertex();
v_addedProperty = vertices[1].v_addedProperty;
va_normal = vertices[1].va_normal;
va_position = vertices[1].va_position;
gl_Position = pvm * vec4( vec4(position[1],1.0) - perp1 * weight);
EmitVertex();

View File

@@ -2,12 +2,12 @@
layout (lines) in;
layout (triangle_strip, max_vertices = 4) out;
in InVertex {
vec3 va_position;
vec3 va_normal;
vec4 v_addedProperty;
} vertices[];
//
//in InVertex {
// vec3 va_position;
// vec3 va_normal;
// vec4 v_addedProperty;
//} vertices[];
out vec3 va_position;
out vec3 va_normal;
@@ -49,27 +49,27 @@ void main() {
vec4 perp0 = vec4(direction0.y, -direction0.x, 0.0, 0.0);
vec4 perp1 = vec4(direction1.y, -direction1.x, 0.0, 0.0);
v_addedProperty = vertices[0].v_addedProperty;
va_normal = vertices[0].va_normal;
va_position = vertices[0].va_position;
// v_addedProperty = vertices[0].v_addedProperty;
// va_normal = vertices[0].va_normal;
// va_position = vertices[0].va_position;
gl_Position = pvm * vec4(vec4(position[0], 1.0)) + perp0 * weight * 0.01;
EmitVertex();
v_addedProperty = vertices[0].v_addedProperty;
va_normal = vertices[0].va_normal;
va_position = vertices[0].va_position;
// v_addedProperty = vertices[0].v_addedProperty;
// va_normal = vertices[0].va_normal;
// va_position = vertices[0].va_position;
gl_Position = pvm * vec4(vec4(position[0], 1.0)) - perp0 * weight * 0.01;
EmitVertex();
v_addedProperty = vertices[1].v_addedProperty;
va_normal = vertices[1].va_normal;
va_position = vertices[1].va_position;
// v_addedProperty = vertices[1].v_addedProperty;
// va_normal = vertices[1].va_normal;
// va_position = vertices[1].va_position;
gl_Position = pvm * vec4(vec4(position[1], 1.0)) + perp1 * weight * 0.01;
EmitVertex();
v_addedProperty = vertices[1].v_addedProperty;
va_normal = vertices[1].va_normal;
va_position = vertices[1].va_position;
// v_addedProperty = vertices[1].v_addedProperty;
// va_normal = vertices[1].va_normal;
// va_position = vertices[1].va_position;
gl_Position = pvm * vec4(vec4(position[1], 1.0)) - perp1 * weight * 0.01;
EmitVertex();

View File

@@ -3,7 +3,6 @@
#pragma import org.openrndr.extra.noise.phrases.SimplexKt.phraseSimplex3;
in vec3 a_position;
out vec3 va_position;
uniform mat4 view;