Cleanup shadows
This commit is contained in:
@@ -1,38 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (triangles) in;
|
|
||||||
layout (triangle_strip, max_vertices = 3) out;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
layout(location=0)uniform vec3 lightPos;
|
|
||||||
in float drawbit[];
|
|
||||||
// the following code is duplicated in lineShadow.geom, should not be changed on its own
|
|
||||||
vec4 projNear (vec4 pos)
|
|
||||||
{
|
|
||||||
// note we project to a specific height
|
|
||||||
// this is quite brittle, not ideal
|
|
||||||
vec3 dir = pos.xyz - lightPos ;
|
|
||||||
float a = (100 - pos.z) / dir.z ;
|
|
||||||
vec2 xy = (pos.xyz + a * dir).xy ;
|
|
||||||
return vec4 ( xy, 100 , 1) ;
|
|
||||||
}
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 p0 = gl_in[0].gl_Position ;
|
|
||||||
vec4 p1 = gl_in[1].gl_Position ;
|
|
||||||
vec4 p2 = gl_in[2].gl_Position ;
|
|
||||||
if ( //if Light Source is below all vertices, draw cap
|
|
||||||
// TODO think about when LS is beside the object
|
|
||||||
(drawbit[0] == 1)
|
|
||||||
&& ( p0.z - lightPos.z > 0 )
|
|
||||||
&& ( p1.z - lightPos.z > 0 )
|
|
||||||
&& ( p2.z - lightPos.z > 0 )
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// the front cap
|
|
||||||
vec4 v1 = vec4 (0,0,1,0) ;
|
|
||||||
gl_Position = theMat * projNear(p0); EmitVertex();
|
|
||||||
gl_Position = theMat * projNear(p2); EmitVertex();
|
|
||||||
gl_Position = theMat * projNear(p1); EmitVertex();
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
else {}
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
// an attempt to test whether a geometry surface occludes the camera from a
|
|
||||||
// light source
|
|
||||||
layout (triangles) in;
|
|
||||||
layout (triangle_strip, max_vertices = 4) out;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
uniform vec3 lightPos;
|
|
||||||
uniform vec2 camPos;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec3 p0 = gl_in[0].gl_Position.xyz ;
|
|
||||||
vec3 p1 = gl_in[1].gl_Position.xyz ;
|
|
||||||
vec3 p2 = gl_in[2].gl_Position.xyz ;
|
|
||||||
|
|
||||||
// first determine intersection point (if any)
|
|
||||||
|
|
||||||
vec3 u = p1 - p0 ;
|
|
||||||
vec3 v = p2 - p0 ;
|
|
||||||
vec3 n = cross (u,v) ;
|
|
||||||
vec3 dir = vec3 (camPos, 100) - lightPos ;
|
|
||||||
vec3 w0 = p0 - lightPos ;
|
|
||||||
float a = dot(n, w0) ;
|
|
||||||
float b = dot(n,dir) ;
|
|
||||||
if (abs(b) < 0.00001) {}
|
|
||||||
else {
|
|
||||||
float r = a / b ;
|
|
||||||
if (r < 0.0) {}
|
|
||||||
else {
|
|
||||||
vec3 ip = lightPos + r * dir ;
|
|
||||||
float uu, uv, vv, wu, wv, D;
|
|
||||||
uu = dot(u,u);
|
|
||||||
uv = dot(u,v);
|
|
||||||
vv = dot(v,v);
|
|
||||||
vec3 w = ip - p0;
|
|
||||||
wu = dot (w,u);
|
|
||||||
wv = dot (w,v);
|
|
||||||
D = uv * uv - uu * vv;
|
|
||||||
//get and test parametric coords
|
|
||||||
float s, t;
|
|
||||||
s = (uv * wv - vv * wu) / D;
|
|
||||||
if (s < 0.0 || s > 1.0) {}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
t = (uv * wu - uu * wv) / D;
|
|
||||||
if (t < 0.0 || (s + t) > 1.0) {}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gl_Position = vec4(-1,-1,50,1); EmitVertex();
|
|
||||||
gl_Position = vec4(-1, 1,50,1); EmitVertex();
|
|
||||||
gl_Position = vec4( 1,-1,50,1); EmitVertex();
|
|
||||||
gl_Position = vec4( 1, 1,50,1); EmitVertex();
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout (points) in;
|
|
||||||
layout (triangle_strip, max_vertices = 4) out;
|
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
|
||||||
out float lum;
|
|
||||||
out vec2 dField;
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
lum = gl_in[0].gl_Position.w;
|
|
||||||
vec4 cenPos = vec4( gl_in[0].gl_Position.xy, 0.1 , 1);
|
|
||||||
float gRad = gl_in[0].gl_Position.z;
|
|
||||||
|
|
||||||
dField = vec2 ( 1, 1);
|
|
||||||
gl_Position = theMat * vec4 (cenPos.x + gRad, cenPos.y + gRad, 0.1 , 1);
|
|
||||||
EmitVertex();
|
|
||||||
dField = vec2 (-1, 1);
|
|
||||||
gl_Position = theMat * vec4 (cenPos.x - gRad, cenPos.y + gRad, 0.1 , 1);
|
|
||||||
EmitVertex();
|
|
||||||
dField = vec2 ( 1,-1);
|
|
||||||
gl_Position = theMat * vec4 (cenPos.x + gRad, cenPos.y - gRad, 0.1 , 1);
|
|
||||||
EmitVertex();
|
|
||||||
dField = vec2 (-1,-1);
|
|
||||||
gl_Position = theMat * vec4 (cenPos.x - gRad, cenPos.y - gRad, 0.1 , 1);
|
|
||||||
EmitVertex();
|
|
||||||
|
|
||||||
EndPrimitive();
|
|
||||||
}
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout(lines_adjacency) in;
|
|
||||||
layout(triangle_strip, max_vertices = 4) out;
|
|
||||||
layout(std140, binding = 0) uniform TheMat { mat4 theMat; };
|
|
||||||
layout(location=0) uniform vec3 lightPos;
|
|
||||||
layout(location=1) uniform float radiusUniform;
|
|
||||||
float closestPointOnLineParam3 (vec3 a, vec3 b, vec3 p) {
|
|
||||||
return dot(p - a,b-a) / dot(b-a,b-a);
|
|
||||||
}
|
|
||||||
vec3 closestPointOnSeg3 (vec3 a,vec3 b, vec3 p) {
|
|
||||||
float x = closestPointOnLineParam3(a,b,p);
|
|
||||||
if (x < 0) {
|
|
||||||
return a;
|
|
||||||
} else{ if (x > 1) { return b; }
|
|
||||||
{ return a + (x * (b- a));}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vec4 shift(vec4 p) { return (vec4(p.xyz + (10000 * (p.xyz - lightPos)), 1)); }
|
|
||||||
vec4 shiftBy(float x, vec4 p) {
|
|
||||||
return (vec4(lightPos + (x * normalize(p.xyz - lightPos)), 1));
|
|
||||||
}
|
|
||||||
// copied from lighting/cap.geom, should not be changed on its own
|
|
||||||
vec4 projNear(vec4 pos) {
|
|
||||||
// note we project to a specific height
|
|
||||||
// this is quite brittle, not ideal
|
|
||||||
vec3 dir = pos.xyz - lightPos;
|
|
||||||
float a = (100 - pos.z) / dir.z;
|
|
||||||
vec2 xy = (pos.xyz + a * dir).xy;
|
|
||||||
return vec4(xy, 100, 1);
|
|
||||||
}
|
|
||||||
vec4 shiftNear(vec4 pos)
|
|
||||||
{
|
|
||||||
vec4 sp = shift(pos);
|
|
||||||
if (sp.z > 100) {
|
|
||||||
return projNear(pos);
|
|
||||||
} else {
|
|
||||||
return sp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void main() {
|
|
||||||
vec4 p0 = gl_in[0].gl_Position;
|
|
||||||
vec4 p1 = gl_in[1].gl_Position;
|
|
||||||
vec3 closepoint = closestPointOnSeg3(p0.xyz,p1.xyz,lightPos);
|
|
||||||
float ru2 = radiusUniform * radiusUniform;
|
|
||||||
vec4 mid = 0.5 * (p0 + p1);
|
|
||||||
vec3 n0a = gl_in[2].gl_Position.xyz;
|
|
||||||
vec3 n1a = gl_in[3].gl_Position.xyz;
|
|
||||||
vec3 n0 = cross(p1.xyz - p0.xyz, n0a - p0.xyz);
|
|
||||||
vec3 n1 = cross(p0.xyz - p1.xyz, n1a - p1.xyz);
|
|
||||||
vec3 lightDir = p0.xyz - lightPos.xyz;
|
|
||||||
vec3 lightDir2 = p1.xyz - lightPos.xyz;
|
|
||||||
// first test if the edge is part of the silhouette
|
|
||||||
// that is, if the normals of the faces connected by the edge point are in
|
|
||||||
// "different directions" wrt the light direction
|
|
||||||
if (dot(n0, lightDir) * dot(n1, lightDir) <= 0 &&
|
|
||||||
(dot(lightDir, lightDir) < ru2 || dot(lightDir2, lightDir2) < ru2))
|
|
||||||
// using <= rather than < seems to get rid of overlapping shadow
|
|
||||||
// artefacts
|
|
||||||
{
|
|
||||||
vec4 p2 = shiftNear(p0);
|
|
||||||
vec4 p3 = shiftNear(p1);
|
|
||||||
gl_Position = theMat * p0;
|
|
||||||
EmitVertex();
|
|
||||||
if (dot(n0, lightDir) > 0) {
|
|
||||||
gl_Position = theMat * p2;
|
|
||||||
EmitVertex();
|
|
||||||
gl_Position = theMat * p1;
|
|
||||||
EmitVertex();
|
|
||||||
} else {
|
|
||||||
gl_Position = theMat * p1;
|
|
||||||
EmitVertex();
|
|
||||||
gl_Position = theMat * p2;
|
|
||||||
EmitVertex();
|
|
||||||
}
|
|
||||||
gl_Position = theMat * p3;
|
|
||||||
EmitVertex();
|
|
||||||
EndPrimitive();
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,28 +1,29 @@
|
|||||||
#version 450 core
|
#version 450 core
|
||||||
struct PosColNorm { vec4 pos; vec4 dummy; };
|
struct PosColNorm { vec4 pos; vec4 dummy; };
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||||
|
layout (std140, binding = 1) uniform TheLight { vec4 lightPos; vec4 colrad; };
|
||||||
layout (std430, binding = 3) readonly buffer Data { PosColNorm data[]; };
|
layout (std430, binding = 3) readonly buffer Data { PosColNorm data[]; };
|
||||||
layout (std430, binding = 5) readonly buffer Indices { uint indices[]; };
|
layout (std430, binding = 5) readonly buffer Indices { uint indices[]; };
|
||||||
layout(location=0)uniform vec3 lightPos;
|
|
||||||
layout(location=1)uniform float radiusUniform;
|
|
||||||
float closestPointOnLineParam3 (vec3 a, vec3 b, vec3 p) {
|
float closestPointOnLineParam3 (vec3 a, vec3 b, vec3 p) {
|
||||||
return dot(p - a,b-a) / dot(b-a,b-a);
|
return dot(p - a,b-a) / dot(b-a,b-a);
|
||||||
}
|
}
|
||||||
vec3 closestPointOnSeg3 (vec3 a,vec3 b, vec3 p) {
|
vec3 closestPointOnSeg3 (vec3 a,vec3 b, vec3 p) {
|
||||||
float x = closestPointOnLineParam3(a,b,p);
|
float x = closestPointOnLineParam3(a,b,p);
|
||||||
if (x < 0) {
|
return (x < 0
|
||||||
return a;
|
? a
|
||||||
} else{ return (x > 1 ? b: a + (x * (b- a))); }
|
: (x > 1
|
||||||
|
? b
|
||||||
|
: a + (x * (b- a)))) ;
|
||||||
}
|
}
|
||||||
vec4 shift(vec4 p) { return (vec4(p.xyz + (10000 * (p.xyz - lightPos)), 1)); }
|
vec4 shift(vec4 p) { return (vec4(p.xyz + (10000 * (p.xyz - lightPos.xyz)), 1)); }
|
||||||
vec4 shiftBy(float x, vec4 p) {
|
vec4 shiftBy(float x, vec4 p) {
|
||||||
return (vec4(lightPos + (x * normalize(p.xyz - lightPos)), 1));
|
return (vec4(lightPos.xyz + (x * normalize(p.xyz - lightPos.xyz)), 1));
|
||||||
}
|
}
|
||||||
vec4 projNear (vec4 pos)
|
vec4 projNear (vec4 pos)
|
||||||
{
|
{
|
||||||
// note we project to a specific height
|
// note we project to a specific height
|
||||||
// this is quite brittle, not ideal
|
// this is quite brittle, not ideal
|
||||||
vec3 dir = pos.xyz - lightPos ;
|
vec3 dir = pos.xyz - lightPos.xyz ;
|
||||||
float a = (100 - pos.z) / dir.z ;
|
float a = (100 - pos.z) / dir.z ;
|
||||||
vec2 xy = (pos.xyz + a * dir).xy ;
|
vec2 xy = (pos.xyz + a * dir).xy ;
|
||||||
return vec4 ( xy, 100 , 1) ;
|
return vec4 ( xy, 100 , 1) ;
|
||||||
@@ -32,10 +33,12 @@ vec4 shiftNear(vec4 pos)
|
|||||||
vec4 sp = shift(pos);
|
vec4 sp = shift(pos);
|
||||||
return (sp.z > 100 ? projNear(pos) : sp);
|
return (sp.z > 100 ? projNear(pos) : sp);
|
||||||
}
|
}
|
||||||
int ks[6] =
|
// Output 6 vertices for 4 data inputs
|
||||||
{0,1,2 // 2--3
|
int ks[6] = // Inputdata: n1a Shadow:
|
||||||
,2,1,3 // | |
|
{0,1,2 // 2--3 / p2--p3
|
||||||
}; // 0--1
|
,2,1,3 // | | p0---p1 / |
|
||||||
|
}; // 0--1 / / |
|
||||||
|
// n0a p0----p1
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
int k = ks[gl_VertexID % 6];
|
int k = ks[gl_VertexID % 6];
|
||||||
@@ -44,8 +47,8 @@ void main()
|
|||||||
vec4 p1 = data[indices[i0+1]].pos;
|
vec4 p1 = data[indices[i0+1]].pos;
|
||||||
vec3 n0a = data[indices[i0+2]].pos.xyz;
|
vec3 n0a = data[indices[i0+2]].pos.xyz;
|
||||||
vec3 n1a = data[indices[i0+3]].pos.xyz;
|
vec3 n1a = data[indices[i0+3]].pos.xyz;
|
||||||
vec3 closepoint = closestPointOnSeg3(p0.xyz,p1.xyz,lightPos);
|
vec3 closepoint = closestPointOnSeg3(p0.xyz,p1.xyz,lightPos.xyz);
|
||||||
float ru2 = radiusUniform * radiusUniform;
|
float ru2 = colrad.w * colrad.w;
|
||||||
vec4 mid = 0.5 * (p0 + p1);
|
vec4 mid = 0.5 * (p0 + p1);
|
||||||
vec3 n0 = cross(p1.xyz - p0.xyz, n0a - p0.xyz);
|
vec3 n0 = cross(p1.xyz - p0.xyz, n0a - p0.xyz);
|
||||||
vec3 n1 = cross(p0.xyz - p1.xyz, n1a - p1.xyz);
|
vec3 n1 = cross(p0.xyz - p1.xyz, n1a - p1.xyz);
|
||||||
@@ -53,15 +56,15 @@ void main()
|
|||||||
vec3 lightDir2 = p1.xyz - lightPos.xyz;
|
vec3 lightDir2 = p1.xyz - lightPos.xyz;
|
||||||
vec4 p2 = shiftNear(p0);
|
vec4 p2 = shiftNear(p0);
|
||||||
vec4 p3 = shiftNear(p1);
|
vec4 p3 = shiftNear(p1);
|
||||||
// first test if the edge is part of the silhouette
|
// test if the edge is part of the silhouette
|
||||||
// that is, if the normals of the faces connected by the edge point are in
|
// that is, if the slopes of the faces connected to the edge are in
|
||||||
// "different directions" wrt the light direction
|
// "different directions" wrt the light direction
|
||||||
if (dot(n0, lightDir) * dot(n1, lightDir) <= 0 &&
|
if (dot(n0, lightDir) * dot(n1, lightDir) <= 0 &&
|
||||||
(dot(lightDir, lightDir) < ru2 || dot(lightDir2, lightDir2) < ru2))
|
(dot(lightDir, lightDir) < ru2 || dot(lightDir2, lightDir2) < ru2))
|
||||||
// using <= rather than < seems to get rid of overlapping shadow
|
// using <= rather than < seems to get rid of overlapping shadow
|
||||||
// artefacts
|
// artefacts
|
||||||
{
|
{
|
||||||
if (dot(n0, lightDir) > 0)
|
if (dot(n0, lightDir) < 0)
|
||||||
{
|
{
|
||||||
vec4 sp[4] = {p1,p0,p3,p2};
|
vec4 sp[4] = {p1,p0,p3,p2};
|
||||||
gl_Position = theMat * sp[k];}
|
gl_Position = theMat * sp[k];}
|
||||||
|
|||||||
@@ -1,92 +0,0 @@
|
|||||||
#version 450 core
|
|
||||||
layout(points) in;
|
|
||||||
//layout(triangle_strip, max_vertices = 18) out;
|
|
||||||
layout(triangle_strip, max_vertices = 9) out;
|
|
||||||
layout(std140, binding = 0) uniform TheMat { mat4 theMat; };
|
|
||||||
layout(location=0) uniform vec3 lightPos;
|
|
||||||
layout(location=1) uniform float rad;
|
|
||||||
//float rad = rad;
|
|
||||||
// Preprocessed to include ../functions.glsl
|
|
||||||
float closestPointOnLineParam (vec2 a, vec2 b, vec2 p) {
|
|
||||||
return dot(p - a,b-a) / dot(b-a,b-a);
|
|
||||||
}
|
|
||||||
vec2 closestPointOnSeg (vec2 a,vec2 b, vec2 p) {
|
|
||||||
float x = closestPointOnLineParam(a,b,p);
|
|
||||||
if (x < 0) {
|
|
||||||
return a;
|
|
||||||
} else{ if (x > 1) { return b; }
|
|
||||||
{ return a + (x * (b- a));}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// End include 2023-03-13 15:33:44.438312149 UTC
|
|
||||||
vec2 closestPointOnLine (vec2 a,vec2 b, vec2 p) {
|
|
||||||
float x = closestPointOnLineParam(a,b,p);
|
|
||||||
return a + (x * (b- a));
|
|
||||||
}
|
|
||||||
vec2 invclosestPointOnLine (vec2 a,vec2 b, vec2 p) {
|
|
||||||
float x = dot (p-a,p-a)/ dot(p-a,b-a);
|
|
||||||
return a + x*(b- a);
|
|
||||||
}
|
|
||||||
vec2 shift(vec2 p) {
|
|
||||||
return vec2(lightPos.xy + (rad * normalize(p - lightPos.xy)));
|
|
||||||
}
|
|
||||||
float detV(vec2 p, vec2 q) {
|
|
||||||
return p.x*q.y - p.y*q.x;
|
|
||||||
}
|
|
||||||
float isLHS(vec2 p, vec2 q) {
|
|
||||||
return sign(-detV(p,q));
|
|
||||||
}
|
|
||||||
// the following does NOT check for division by zero: do not reuse this unless
|
|
||||||
// you are certain this cannot happen
|
|
||||||
vec2 intersectLL(vec2 p1,vec2 p2,vec2 q1,vec2 q2){
|
|
||||||
float den = detV (p1-p2,q1-q2);
|
|
||||||
float t = detV (p1-q1,q1-q2);
|
|
||||||
return p1 + (t/den)*(p2-p1);
|
|
||||||
}
|
|
||||||
// constructs a "bridge" shape
|
|
||||||
void main() {
|
|
||||||
vec2 p1 = gl_in[0].gl_Position.xy;
|
|
||||||
vec2 p2 = gl_in[0].gl_Position.zw;
|
|
||||||
vec2 closepoint = closestPointOnSeg(p1,p2,lightPos.xy);
|
|
||||||
if (isLHS(p1 - lightPos.xy, p2 - lightPos.xy) < 0 && distance(closepoint,lightPos.xy) < rad) {
|
|
||||||
vec2 xxxy = p1 + (0.25 * (p2 -p1));
|
|
||||||
vec2 xt = shift(xxxy);
|
|
||||||
vec2 xo = invclosestPointOnLine(lightPos.xy,p1,xt);
|
|
||||||
vec2 xyyy = p1 + (0.75 * (p2 -p1));
|
|
||||||
vec2 yt = shift(xyyy);
|
|
||||||
vec2 yo = invclosestPointOnLine(lightPos.xy,p2,yt);
|
|
||||||
|
|
||||||
vec2 xoo = (distance(xo, lightPos.xy) < distance(p1, lightPos.xy)
|
|
||||||
|| distance(p1,lightPos.xy)>rad
|
|
||||||
? p1 : xo);
|
|
||||||
vec2 yoo = (distance(yo, lightPos.xy) < distance(p2, lightPos.xy)
|
|
||||||
|| distance(p2,lightPos.xy)>rad
|
|
||||||
? p2 : yo);
|
|
||||||
|
|
||||||
vec2 mo = intersectLL(xoo,xt,yoo,yt);
|
|
||||||
|
|
||||||
vec2 closeshift = (rad * normalize(closepoint - lightPos.xy)) + lightPos.xy - closepoint;
|
|
||||||
vec2 shifto = (rad * normalize(closepoint - lightPos.xy)) + closepoint;
|
|
||||||
vec2 p1o = vec2( distance(p1,lightPos.xy) > rad ? p1 : shift(p1) );
|
|
||||||
//vec2 p1o = xoo;
|
|
||||||
vec2 p2o = vec2( distance(p2,lightPos.xy) > rad ? p2 : shift(p2) );
|
|
||||||
//vec2 p2o = yoo;
|
|
||||||
|
|
||||||
gl_Position = theMat * vec4(p1o,-500,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p1,-500,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p1o,100,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p1,100,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(shifto,100,1); EmitVertex();
|
|
||||||
//gl_Position = theMat * vec4(xt,100,1); EmitVertex();
|
|
||||||
//gl_Position = theMat * vec4(mo,100,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p2,100,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p2o,100,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p2,-500,1); EmitVertex();
|
|
||||||
gl_Position = theMat * vec4(p2o,-500,1); EmitVertex();
|
|
||||||
EndPrimitive();
|
|
||||||
// be carefull with the winding...
|
|
||||||
|
|
||||||
EndPrimitive();
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
#version 450 core
|
#version 450 core
|
||||||
struct PosTex { vec4 pospos; vec4 texang; };
|
struct PosTex { vec4 pospos; vec4 texang; };
|
||||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||||
|
layout (std140, binding = 1) uniform TheLight { vec4 lightPos; vec4 colrad; };
|
||||||
layout (std430, binding = 2) readonly buffer Pos { PosTex data[]; };
|
layout (std430, binding = 2) readonly buffer Pos { PosTex data[]; };
|
||||||
layout(location=0) uniform vec3 lightPos;
|
float rad = colrad.w;
|
||||||
layout(location=1) uniform float rad;
|
|
||||||
int indices[18] =
|
int indices[18] =
|
||||||
{5,1,7 // 6----7
|
{5,7,1 // 6----7
|
||||||
,7,1,3 // /| /|
|
,7,3,1 // /| /|
|
||||||
,7,3,6 // 2-+--3 |
|
,7,6,3 // 2-+--3 |
|
||||||
,6,3,2 // | 4 | 5
|
,6,2,3 // | 4 | 5
|
||||||
,6,2,4 // 0 1
|
,6,4,2 // 0 1
|
||||||
,4,2,0
|
,4,0,2
|
||||||
};
|
};
|
||||||
vec2 shift(vec2 p) {
|
vec2 shift(vec2 p) {
|
||||||
return vec2(lightPos.xy + (rad * normalize(p - lightPos.xy)));
|
return vec2(lightPos.xy + (rad * normalize(p - lightPos.xy)));
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ data RenderData = RenderData
|
|||||||
, _fboLighting :: (FBO, TO)
|
, _fboLighting :: (FBO, TO)
|
||||||
, _rboBaseBloom :: GLuint -- RenderbufferObject id
|
, _rboBaseBloom :: GLuint -- RenderbufferObject id
|
||||||
, _matUBO :: GLuint -- BufferObject id
|
, _matUBO :: GLuint -- BufferObject id
|
||||||
|
, _lightUBO :: GLuint -- BufferObject id
|
||||||
-- , _winSSBO :: GLuint
|
-- , _winSSBO :: GLuint
|
||||||
-- , _wallSSBO :: GLuint
|
-- , _wallSSBO :: GLuint
|
||||||
-- , _shapeSSBO :: GLuint
|
-- , _shapeSSBO :: GLuint
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ preloadRender = do
|
|||||||
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
|
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||||
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
|
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
|
||||||
|
|
||||||
|
lightubo <- mglCreate glCreateBuffers
|
||||||
|
glNamedBufferStorage lightubo 32 nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||||
|
glBindBufferBase GL_UNIFORM_BUFFER 1 lightubo
|
||||||
|
|
||||||
winssbo <- mglCreate glCreateBuffers
|
winssbo <- mglCreate glCreateBuffers
|
||||||
let winssbosize = sizeOf (0 :: Float) * 8 * 1024
|
let winssbosize = sizeOf (0 :: Float) * 8 * 1024
|
||||||
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
|
||||||
@@ -222,6 +226,7 @@ preloadRender = do
|
|||||||
, _fboPos = fboPosName
|
, _fboPos = fboPosName
|
||||||
, _rboBaseBloom = rboBaseBloomName
|
, _rboBaseBloom = rboBaseBloomName
|
||||||
, _matUBO = theUBO
|
, _matUBO = theUBO
|
||||||
|
, _lightUBO = lightubo
|
||||||
, _vboShapes = shVBO
|
, _vboShapes = shVBO
|
||||||
, _floorVBO = floorvbo
|
, _floorVBO = floorvbo
|
||||||
, _floorShader = floorshader
|
, _floorShader = floorshader
|
||||||
|
|||||||
+8
-32
@@ -158,7 +158,9 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
|||||||
-- 2. calculate lighting based on each fragment's position and normal
|
-- 2. calculate lighting based on each fragment's position and normal
|
||||||
-- TODO stencil out square around light!
|
-- TODO stencil out square around light!
|
||||||
-- glEnable GL_SCISSOR_TEST
|
-- glEnable GL_SCISSOR_TEST
|
||||||
|
glDisable GL_CULL_FACE
|
||||||
flip VFSM.mapM_ (VFSM.fromList lightPoints) $ \(V3 x y z, rad, V3 r g b) -> do
|
flip VFSM.mapM_ (VFSM.fromList lightPoints) $ \(V3 x y z, rad, V3 r g b) -> do
|
||||||
|
withArray [x,y,z,1,r,g,b,rad] $ glNamedBufferSubData (pdata ^. lightUBO) 0 32
|
||||||
-- note that the stencil shadows rely on the depth buffer
|
-- note that the stencil shadows rely on the depth buffer
|
||||||
-- glScissor 0 0 200 200
|
-- glScissor 0 0 200 200
|
||||||
glDepthFunc GL_LESS
|
glDepthFunc GL_LESS
|
||||||
@@ -172,51 +174,25 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
|||||||
glDisable GL_CULL_FACE
|
glDisable GL_CULL_FACE
|
||||||
-- the first bit has been used to stencil out "ceilings" under which we never draw
|
-- the first bit has been used to stencil out "ceilings" under which we never draw
|
||||||
glStencilFunc GL_NOTEQUAL 128 255
|
glStencilFunc GL_NOTEQUAL 128 255
|
||||||
|
glBindVertexArray $ pdata ^. dummyVAO . vaoName
|
||||||
--draw wall shadows
|
--draw wall shadows
|
||||||
glUseProgram shadwall
|
glUseProgram shadwall
|
||||||
glUniform3f 0 x y z
|
|
||||||
glUniform1f 1 rad
|
|
||||||
--glBindVertexArray $ lwallShad ^. shaderVAO . vaoName -- Just (_vao $ _shadVAO lwallShad)
|
|
||||||
glBindVertexArray $ pdata ^. dummyVAO . vaoName -- Just (_vao $ _shadVAO lwallShad)
|
|
||||||
glDrawArrays GL_TRIANGLES 0 (nWalls * 18)
|
glDrawArrays GL_TRIANGLES 0 (nWalls * 18)
|
||||||
case shadrendertype of
|
case shadrendertype of
|
||||||
GeoObjShads -> do
|
GeoObjShads -> do
|
||||||
--draw silhouette shadows
|
--draw silhouette shadows
|
||||||
glEnable GL_DEPTH_CLAMP
|
glEnable GL_DEPTH_CLAMP
|
||||||
glUseProgram (_shaderUINT llinesShad)
|
glUseProgram (_shaderUINT llinesShad)
|
||||||
glUniform3f 0 x y z
|
glDrawArrays GL_TRIANGLES 0 ((fromIntegral nSils * 6) `div` 4)
|
||||||
glUniform1f 1 rad
|
|
||||||
--glBindVertexArray (_vaoName $ _shaderVAO llinesShad)
|
|
||||||
glBindVertexArray (pdata ^. dummyVAO . vaoName)
|
|
||||||
glDrawArrays
|
|
||||||
GL_TRIANGLES
|
|
||||||
0
|
|
||||||
((fromIntegral nSils * 6) `div` 4)
|
|
||||||
--glDrawElements
|
|
||||||
-- (_unPrimitiveMode $ _shaderPrimitive llinesShad)
|
|
||||||
-- (fromIntegral nSils)
|
|
||||||
-- GL_UNSIGNED_INT
|
|
||||||
-- nullPtr
|
|
||||||
--draw caps on the near plane as required
|
--draw caps on the near plane as required
|
||||||
glEnable GL_CULL_FACE
|
glEnable GL_CULL_FACE
|
||||||
glCullFace GL_FRONT
|
glCullFace GL_BACK
|
||||||
glUseProgram (_shaderUINT lcapShad)
|
glUseProgram (_shaderUINT lcapShad)
|
||||||
glUniform3f 0 x y z
|
glUniform3f 0 x y z
|
||||||
glUniform4f 1 r g b rad
|
glUniform4f 1 r g b rad
|
||||||
--glBindVertexArray $ lcapShad ^. shaderVAO . vaoName --Just (_vao $ _shadVAO lcapShad)
|
-- glFrontFace(GL_CW)
|
||||||
glBindVertexArray $ pdata ^. dummyVAO . vaoName
|
glDrawArrays GL_TRIANGLES 0 (fromIntegral nCaps)
|
||||||
glFrontFace(GL_CW)
|
-- glFrontFace(GL_CCW)
|
||||||
glDrawArrays
|
|
||||||
GL_TRIANGLES
|
|
||||||
0
|
|
||||||
--3
|
|
||||||
(fromIntegral nCaps)
|
|
||||||
glFrontFace(GL_CCW)
|
|
||||||
--glDrawElements
|
|
||||||
-- (_unPrimitiveMode $ _shaderPrimitive lcapShad)
|
|
||||||
-- (fromIntegral nCaps)
|
|
||||||
-- GL_UNSIGNED_SHORT
|
|
||||||
-- nullPtr
|
|
||||||
glDisable GL_DEPTH_CLAMP
|
glDisable GL_DEPTH_CLAMP
|
||||||
_ -> return ()
|
_ -> return ()
|
||||||
--draw lightmap itself
|
--draw lightmap itself
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 178;" C
|
|||||||
BLOWTORCH src/Dodge/Data/Item/Combine.hs 165;" C
|
BLOWTORCH src/Dodge/Data/Item/Combine.hs 165;" C
|
||||||
BLUE src/Color/Data.hs 14;" C
|
BLUE src/Color/Data.hs 14;" C
|
||||||
BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 148;" C
|
BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 148;" C
|
||||||
BOType src/Shader/Data.hs 86;" t
|
|
||||||
BQuad src/Geometry/Bezier.hs 9;" t
|
BQuad src/Geometry/Bezier.hs 9;" t
|
||||||
BRAINHAT src/Dodge/Data/Item/Combine.hs 125;" C
|
BRAINHAT src/Dodge/Data/Item/Combine.hs 125;" C
|
||||||
BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 133;" C
|
BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 133;" C
|
||||||
@@ -435,7 +434,7 @@ FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 50;" C
|
|||||||
Flee src/Dodge/Data/ActionPlan.hs 143;" C
|
Flee src/Dodge/Data/ActionPlan.hs 143;" C
|
||||||
Flesh src/Dodge/Data/Material.hs 17;" C
|
Flesh src/Dodge/Data/Material.hs 17;" C
|
||||||
FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 14;" C
|
FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 14;" C
|
||||||
FloatBO src/Shader/Data.hs 88;" t
|
FloatBO src/Shader/Data.hs 86;" t
|
||||||
FloatConst src/Dodge/Data/FloatFunction.hs 15;" C
|
FloatConst src/Dodge/Data/FloatFunction.hs 15;" C
|
||||||
FloatDistLinearNearFar src/Dodge/Data/FloatFunction.hs 13;" C
|
FloatDistLinearNearFar src/Dodge/Data/FloatFunction.hs 13;" C
|
||||||
FloatFOV src/Dodge/Data/FloatFunction.hs 11;" C
|
FloatFOV src/Dodge/Data/FloatFunction.hs 11;" C
|
||||||
@@ -989,7 +988,7 @@ PosInf src/Dodge/Data/CardinalPoint.hs 44;" C
|
|||||||
PosRooms src/Dodge/Tree/Shift.hs 28;" t
|
PosRooms src/Dodge/Tree/Shift.hs 28;" t
|
||||||
Posture src/Dodge/Data/Creature/Stance.hs 33;" t
|
Posture src/Dodge/Data/Creature/Stance.hs 33;" t
|
||||||
PreloadData src/Data/Preload.hs 10;" t
|
PreloadData src/Data/Preload.hs 10;" t
|
||||||
PrimitiveMode src/Shader/Data.hs 110;" t
|
PrimitiveMode src/Shader/Data.hs 108;" t
|
||||||
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
|
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
|
||||||
Prison src/Dodge/Data/Scenario.hs 65;" C
|
Prison src/Dodge/Data/Scenario.hs 65;" C
|
||||||
Projectile src/Dodge/Data/Projectile.hs 15;" t
|
Projectile src/Dodge/Data/Projectile.hs 15;" t
|
||||||
@@ -1117,7 +1116,7 @@ SPEEDLEGS src/Dodge/Data/Item/Combine.hs 129;" C
|
|||||||
SPRING src/Dodge/Data/Item/Combine.hs 53;" C
|
SPRING src/Dodge/Data/Item/Combine.hs 53;" C
|
||||||
SPic src/ShapePicture/Data.hs 7;" t
|
SPic src/ShapePicture/Data.hs 7;" t
|
||||||
SQUARE src/Dodge/Data/GenParams.hs 18;" C
|
SQUARE src/Dodge/Data/GenParams.hs 18;" C
|
||||||
SSBO src/Shader/Data.hs 99;" t
|
SSBO src/Shader/Data.hs 97;" t
|
||||||
SString src/ShortShow.hs 16;" C
|
SString src/ShortShow.hs 16;" C
|
||||||
ST src/Dodge/Data/MetaTree.hs 20;" C
|
ST src/Dodge/Data/MetaTree.hs 20;" C
|
||||||
STEELDRUM src/Dodge/Data/Item/Combine.hs 58;" C
|
STEELDRUM src/Dodge/Data/Item/Combine.hs 58;" C
|
||||||
@@ -1151,7 +1150,7 @@ SetLSCol src/Dodge/Data/WorldEffect.hs 24;" C
|
|||||||
SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C
|
SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C
|
||||||
ShadNum src/Picture/Data.hs 33;" t
|
ShadNum src/Picture/Data.hs 33;" t
|
||||||
Shader src/Shader/Data.hs 51;" t
|
Shader src/Shader/Data.hs 51;" t
|
||||||
ShaderTexture src/Shader/Data.hs 105;" t
|
ShaderTexture src/Shader/Data.hs 103;" t
|
||||||
ShadowFidelity src/Shape/Data.hs 19;" t
|
ShadowFidelity src/Shape/Data.hs 19;" t
|
||||||
ShadowRendering src/Dodge/Data/Config.hs 103;" t
|
ShadowRendering src/Dodge/Data/Config.hs 103;" t
|
||||||
Shape src/Shape/Data.hs 48;" t
|
Shape src/Shape/Data.hs 48;" t
|
||||||
@@ -1349,7 +1348,7 @@ TwoHandUnder src/Dodge/Data/AimStance.hs 11;" C
|
|||||||
Typical src/Shape/Data.hs 31;" C
|
Typical src/Shape/Data.hs 31;" C
|
||||||
UNDERBARRELSLOT src/Dodge/Data/Item/Combine.hs 97;" C
|
UNDERBARRELSLOT src/Dodge/Data/Item/Combine.hs 97;" C
|
||||||
UNIGATE src/Dodge/Data/Item/Combine.hs 30;" C
|
UNIGATE src/Dodge/Data/Item/Combine.hs 30;" C
|
||||||
UintBO src/Shader/Data.hs 94;" t
|
UintBO src/Shader/Data.hs 92;" t
|
||||||
UnderBarrelPlatformSF src/Dodge/Data/ComposedItem.hs 16;" C
|
UnderBarrelPlatformSF src/Dodge/Data/ComposedItem.hs 16;" C
|
||||||
UnderBarrelSlotSF src/Dodge/Data/ComposedItem.hs 15;" C
|
UnderBarrelSlotSF src/Dodge/Data/ComposedItem.hs 15;" C
|
||||||
UnderGround src/Dodge/Data/Scenario.hs 78;" C
|
UnderGround src/Dodge/Data/Scenario.hs 78;" C
|
||||||
@@ -1459,7 +1458,6 @@ WeaponScopeSF src/Dodge/Data/ComposedItem.hs 19;" C
|
|||||||
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C
|
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 20;" C
|
||||||
West src/Dodge/Data/CardinalPoint.hs 10;" C
|
West src/Dodge/Data/CardinalPoint.hs 10;" C
|
||||||
West8 src/Dodge/Data/CardinalPoint.hs 34;" C
|
West8 src/Dodge/Data/CardinalPoint.hs 34;" C
|
||||||
WindowPoss src/Shader/Data.hs 86;" C
|
|
||||||
WlID src/Dodge/Data/CrWlID.hs 10;" C
|
WlID src/Dodge/Data/CrWlID.hs 10;" C
|
||||||
Wood src/Dodge/Data/Material.hs 11;" C
|
Wood src/Dodge/Data/Material.hs 11;" C
|
||||||
World src/Dodge/Data/World.hs 34;" t
|
World src/Dodge/Data/World.hs 34;" t
|
||||||
@@ -1538,9 +1536,6 @@ _bmPoints src/Dodge/Data/Beam.hs 22;" f
|
|||||||
_bmPos src/Dodge/Data/Beam.hs 18;" f
|
_bmPos src/Dodge/Data/Beam.hs 18;" f
|
||||||
_bmRange src/Dodge/Data/Beam.hs 24;" f
|
_bmRange src/Dodge/Data/Beam.hs 24;" f
|
||||||
_bmType src/Dodge/Data/Beam.hs 27;" f
|
_bmType src/Dodge/Data/Beam.hs 27;" f
|
||||||
_boName src/Shader/Data.hs 89;" f
|
|
||||||
_boPtr src/Shader/Data.hs 90;" f
|
|
||||||
_boType src/Shader/Data.hs 91;" f
|
|
||||||
_boffEff src/Dodge/Data/Button.hs 21;" f
|
_boffEff src/Dodge/Data/Button.hs 21;" f
|
||||||
_bonEff src/Dodge/Data/Button.hs 20;" f
|
_bonEff src/Dodge/Data/Button.hs 20;" f
|
||||||
_bounceTolerance src/Dodge/Data/Projectile.hs 46;" f
|
_bounceTolerance src/Dodge/Data/Projectile.hs 46;" f
|
||||||
@@ -1593,8 +1588,8 @@ _cdtUp src/Dodge/Data/DoubleTree.hs 92;" f
|
|||||||
_ceSideEffect src/Dodge/Data/Universe.hs 66;" f
|
_ceSideEffect src/Dodge/Data/Universe.hs 66;" f
|
||||||
_ceString src/Dodge/Data/Universe.hs 67;" f
|
_ceString src/Dodge/Data/Universe.hs 67;" f
|
||||||
_ceilingStencilShader src/Data/Preload/Render.hs 18;" f
|
_ceilingStencilShader src/Data/Preload/Render.hs 18;" f
|
||||||
_chasmShader src/Data/Preload/Render.hs 53;" f
|
_chasmShader src/Data/Preload/Render.hs 54;" f
|
||||||
_chasmVBO src/Data/Preload/Render.hs 52;" f
|
_chasmVBO src/Data/Preload/Render.hs 53;" f
|
||||||
_chasms src/Dodge/Data/CWorld.hs 33;" f
|
_chasms src/Dodge/Data/CWorld.hs 33;" f
|
||||||
_ciFilter src/Dodge/Data/HUD.hs 25;" f
|
_ciFilter src/Dodge/Data/HUD.hs 25;" f
|
||||||
_ciInvIDs src/Dodge/Data/Combine.hs 9;" f
|
_ciInvIDs src/Dodge/Data/Combine.hs 9;" f
|
||||||
@@ -1623,8 +1618,8 @@ _clickPos src/Dodge/Data/Input.hs 42;" f
|
|||||||
_clickWorldPos src/Dodge/Data/Input.hs 44;" f
|
_clickWorldPos src/Dodge/Data/Input.hs 44;" f
|
||||||
_closeButtons src/Dodge/Data/HUD.hs 36;" f
|
_closeButtons src/Dodge/Data/HUD.hs 36;" f
|
||||||
_closeItems src/Dodge/Data/HUD.hs 35;" f
|
_closeItems src/Dodge/Data/HUD.hs 35;" f
|
||||||
_cloudShader src/Data/Preload/Render.hs 57;" f
|
_cloudShader src/Data/Preload/Render.hs 58;" f
|
||||||
_cloudVBO src/Data/Preload/Render.hs 56;" f
|
_cloudVBO src/Data/Preload/Render.hs 57;" f
|
||||||
_clouds src/Dodge/Data/LWorld.hs 96;" f
|
_clouds src/Dodge/Data/LWorld.hs 96;" f
|
||||||
_colorBlurShader src/Data/Preload/Render.hs 26;" f
|
_colorBlurShader src/Data/Preload/Render.hs 26;" f
|
||||||
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f
|
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f
|
||||||
@@ -1754,7 +1749,7 @@ _dsZoning src/Dodge/Data/World.hs 48;" f
|
|||||||
_dtLeft src/Dodge/Data/DoubleTree.hs 29;" f
|
_dtLeft src/Dodge/Data/DoubleTree.hs 29;" f
|
||||||
_dtRight src/Dodge/Data/DoubleTree.hs 29;" f
|
_dtRight src/Dodge/Data/DoubleTree.hs 29;" f
|
||||||
_dtValue src/Dodge/Data/DoubleTree.hs 29;" f
|
_dtValue src/Dodge/Data/DoubleTree.hs 29;" f
|
||||||
_dummyVAO src/Data/Preload/Render.hs 60;" f
|
_dummyVAO src/Data/Preload/Render.hs 61;" f
|
||||||
_dusts src/Dodge/Data/LWorld.hs 97;" f
|
_dusts src/Dodge/Data/LWorld.hs 97;" f
|
||||||
_ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f
|
_ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f
|
||||||
_ebPos src/Dodge/Data/EnergyBall.hs 17;" f
|
_ebPos src/Dodge/Data/EnergyBall.hs 17;" f
|
||||||
@@ -1783,9 +1778,12 @@ _flames src/Dodge/Data/LWorld.hs 105;" f
|
|||||||
_flankTarget src/Dodge/Data/ActionPlan.hs 129;" f
|
_flankTarget src/Dodge/Data/ActionPlan.hs 129;" f
|
||||||
_flares src/Dodge/Data/LWorld.hs 108;" f
|
_flares src/Dodge/Data/LWorld.hs 108;" f
|
||||||
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f
|
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f
|
||||||
|
_flboName src/Shader/Data.hs 87;" f
|
||||||
|
_flboPtr src/Shader/Data.hs 88;" f
|
||||||
|
_flboStride src/Shader/Data.hs 89;" f
|
||||||
_floorItems src/Dodge/Data/LWorld.hs 127;" f
|
_floorItems src/Dodge/Data/LWorld.hs 127;" f
|
||||||
_floorShader src/Data/Preload/Render.hs 51;" f
|
_floorShader src/Data/Preload/Render.hs 52;" f
|
||||||
_floorVBO src/Data/Preload/Render.hs 50;" f
|
_floorVBO src/Data/Preload/Render.hs 51;" f
|
||||||
_foreShapes src/Dodge/Data/LWorld.hs 132;" f
|
_foreShapes src/Dodge/Data/LWorld.hs 132;" f
|
||||||
_fsDir src/Dodge/Data/ForegroundShape.hs 14;" f
|
_fsDir src/Dodge/Data/ForegroundShape.hs 14;" f
|
||||||
_fsPos src/Dodge/Data/ForegroundShape.hs 13;" f
|
_fsPos src/Dodge/Data/ForegroundShape.hs 13;" f
|
||||||
@@ -1907,10 +1905,10 @@ _ldtRight src/Dodge/Data/DoubleTree.hs 35;" f
|
|||||||
_ldtValue src/Dodge/Data/DoubleTree.hs 33;" f
|
_ldtValue src/Dodge/Data/DoubleTree.hs 33;" f
|
||||||
_leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f
|
_leadTargetBy src/Dodge/Data/ActionPlan.hs 115;" f
|
||||||
_lightSources src/Dodge/Data/LWorld.hs 133;" f
|
_lightSources src/Dodge/Data/LWorld.hs 133;" f
|
||||||
|
_lightUBO src/Data/Preload/Render.hs 45;" f
|
||||||
_lightingCapShader src/Data/Preload/Render.hs 16;" f
|
_lightingCapShader src/Data/Preload/Render.hs 16;" f
|
||||||
_lightingLineShadowShader src/Data/Preload/Render.hs 15;" f
|
_lightingLineShadowShader src/Data/Preload/Render.hs 15;" f
|
||||||
_lightingTextureShader src/Data/Preload/Render.hs 17;" f
|
_lightingTextureShader src/Data/Preload/Render.hs 17;" f
|
||||||
_lightingWallShadShader src/Data/Preload/Render.hs 14;" f
|
|
||||||
_lights src/Dodge/Data/LWorld.hs 134;" f
|
_lights src/Dodge/Data/LWorld.hs 134;" f
|
||||||
_linearShockwaves src/Dodge/Data/LWorld.hs 116;" f
|
_linearShockwaves src/Dodge/Data/LWorld.hs 116;" f
|
||||||
_linkGapEW src/Dodge/Data/Room.hs 36;" f
|
_linkGapEW src/Dodge/Data/Room.hs 36;" f
|
||||||
@@ -2191,7 +2189,7 @@ _scOptions src/Dodge/Data/Universe.hs 84;" f
|
|||||||
_scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f
|
_scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f
|
||||||
_scSelectionList src/Dodge/Data/Universe.hs 88;" f
|
_scSelectionList src/Dodge/Data/Universe.hs 88;" f
|
||||||
_scTitle src/Dodge/Data/Universe.hs 83;" f
|
_scTitle src/Dodge/Data/Universe.hs 83;" f
|
||||||
_screenTextureVAO src/Data/Preload/Render.hs 59;" f
|
_screenTextureVAO src/Data/Preload/Render.hs 60;" f
|
||||||
_scrollAmount src/Dodge/Data/Input.hs 40;" f
|
_scrollAmount src/Dodge/Data/Input.hs 40;" f
|
||||||
_scrollItemID src/Dodge/Data/World.hs 68;" f
|
_scrollItemID src/Dodge/Data/World.hs 68;" f
|
||||||
_scrollItemID src/Dodge/Data/World.hs 77;" f
|
_scrollItemID src/Dodge/Data/World.hs 77;" f
|
||||||
@@ -2218,6 +2216,7 @@ _sfShadowImportance src/Shape/Data.hs 40;" f
|
|||||||
_sfSize src/Shape/Data.hs 41;" f
|
_sfSize src/Shape/Data.hs 41;" f
|
||||||
_sfType src/Shape/Data.hs 37;" f
|
_sfType src/Shape/Data.hs 37;" f
|
||||||
_sfVs src/Shape/Data.hs 38;" f
|
_sfVs src/Shape/Data.hs 38;" f
|
||||||
|
_shadWallShader src/Data/Preload/Render.hs 14;" f
|
||||||
_shaderPrimitive src/Shader/Data.hs 53;" f
|
_shaderPrimitive src/Shader/Data.hs 53;" f
|
||||||
_shaderUINT src/Shader/Data.hs 52;" f
|
_shaderUINT src/Shader/Data.hs 52;" f
|
||||||
_shaderVAO src/Shader/Data.hs 54;" f
|
_shaderVAO src/Shader/Data.hs 54;" f
|
||||||
@@ -2267,8 +2266,8 @@ _ssItems src/Dodge/Data/SelectionList.hs 30;" f
|
|||||||
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f
|
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f
|
||||||
_ssShownItems src/Dodge/Data/SelectionList.hs 32;" f
|
_ssShownItems src/Dodge/Data/SelectionList.hs 32;" f
|
||||||
_ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
|
_ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
|
||||||
_ssboName src/Shader/Data.hs 100;" f
|
_ssboName src/Shader/Data.hs 98;" f
|
||||||
_ssboPtr src/Shader/Data.hs 101;" f
|
_ssboPtr src/Shader/Data.hs 99;" f
|
||||||
_strideAmount src/Dodge/Data/Creature/Stance.hs 23;" f
|
_strideAmount src/Dodge/Data/Creature/Stance.hs 23;" f
|
||||||
_strideLength src/Dodge/Data/Creature/Stance.hs 18;" f
|
_strideLength src/Dodge/Data/Creature/Stance.hs 18;" f
|
||||||
_stuckCrID src/Dodge/Data/Projectile.hs 48;" f
|
_stuckCrID src/Dodge/Data/Projectile.hs 48;" f
|
||||||
@@ -2302,7 +2301,7 @@ _terminals src/Dodge/Data/LWorld.hs 122;" f
|
|||||||
_teslaArcs src/Dodge/Data/LWorld.hs 110;" f
|
_teslaArcs src/Dodge/Data/LWorld.hs 110;" f
|
||||||
_testFloat src/Dodge/Data/World.hs 42;" f
|
_testFloat src/Dodge/Data/World.hs 42;" f
|
||||||
_textInput src/Dodge/Data/Input.hs 46;" f
|
_textInput src/Dodge/Data/Input.hs 46;" f
|
||||||
_textureObject src/Shader/Data.hs 106;" f
|
_textureObject src/Shader/Data.hs 104;" f
|
||||||
_tiText src/Dodge/Data/Terminal/Status.hs 14;" f
|
_tiText src/Dodge/Data/Terminal/Status.hs 14;" f
|
||||||
_tileArrayZ src/Data/Tile.hs 24;" f
|
_tileArrayZ src/Data/Tile.hs 24;" f
|
||||||
_tilePoly src/Data/Tile.hs 17;" f
|
_tilePoly src/Data/Tile.hs 17;" f
|
||||||
@@ -2352,15 +2351,15 @@ _uScope src/Dodge/Data/Item/Use.hs 34;" f
|
|||||||
_uValue src/Dodge/Data/Item/Use.hs 33;" f
|
_uValue src/Dodge/Data/Item/Use.hs 33;" f
|
||||||
_uaParams src/Dodge/Data/Item/Use.hs 30;" f
|
_uaParams src/Dodge/Data/Item/Use.hs 30;" f
|
||||||
_ubMod src/Dodge/Data/Item/Use.hs 35;" f
|
_ubMod src/Dodge/Data/Item/Use.hs 35;" f
|
||||||
_uiboName src/Shader/Data.hs 95;" f
|
_uiboName src/Shader/Data.hs 93;" f
|
||||||
_uiboPtr src/Shader/Data.hs 96;" f
|
_uiboPtr src/Shader/Data.hs 94;" f
|
||||||
_unCombEdge src/Dodge/Combine/Graph.hs 30;" f
|
_unCombEdge src/Dodge/Combine/Graph.hs 30;" f
|
||||||
_unCombNode src/Dodge/Combine/Graph.hs 23;" f
|
_unCombNode src/Dodge/Combine/Graph.hs 23;" f
|
||||||
_unFBO src/Shader/Data.hs 57;" f
|
_unFBO src/Shader/Data.hs 57;" f
|
||||||
_unNInt src/NewInt.hs 16;" f
|
_unNInt src/NewInt.hs 16;" f
|
||||||
_unNIntMap src/NewInt.hs 22;" f
|
_unNIntMap src/NewInt.hs 22;" f
|
||||||
_unNIntSet src/NewInt.hs 19;" f
|
_unNIntSet src/NewInt.hs 19;" f
|
||||||
_unPrimitiveMode src/Shader/Data.hs 110;" f
|
_unPrimitiveMode src/Shader/Data.hs 108;" f
|
||||||
_unPutCrit src/Dodge/Data/GenWorld.hs 32;" f
|
_unPutCrit src/Dodge/Data/GenWorld.hs 32;" f
|
||||||
_unST src/Dodge/Data/MetaTree.hs 20;" f
|
_unST src/Dodge/Data/MetaTree.hs 20;" f
|
||||||
_unTO src/Shader/Data.hs 59;" f
|
_unTO src/Shader/Data.hs 59;" f
|
||||||
@@ -2400,7 +2399,7 @@ _vaType src/Shader/Data.hs 68;" f
|
|||||||
_vaoName src/Shader/Data.hs 64;" f
|
_vaoName src/Shader/Data.hs 64;" f
|
||||||
_vboName src/Shader/Data.hs 80;" f
|
_vboName src/Shader/Data.hs 80;" f
|
||||||
_vboPtr src/Shader/Data.hs 81;" f
|
_vboPtr src/Shader/Data.hs 81;" f
|
||||||
_vboShapes src/Data/Preload/Render.hs 49;" f
|
_vboShapes src/Data/Preload/Render.hs 50;" f
|
||||||
_vboVertexBytes src/Shader/Data.hs 82;" f
|
_vboVertexBytes src/Shader/Data.hs 82;" f
|
||||||
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
|
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
|
||||||
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
|
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
|
||||||
@@ -2423,13 +2422,13 @@ _wTime src/Dodge/Data/Item/Params.hs 20;" f
|
|||||||
_waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f
|
_waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f
|
||||||
_waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f
|
_waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f
|
||||||
_wallDamages src/Dodge/Data/LWorld.hs 119;" f
|
_wallDamages src/Dodge/Data/LWorld.hs 119;" f
|
||||||
_wallVBO src/Data/Preload/Render.hs 55;" f
|
_wallVBO src/Data/Preload/Render.hs 56;" f
|
||||||
_walls src/Dodge/Data/LWorld.hs 118;" f
|
_walls src/Dodge/Data/LWorld.hs 118;" f
|
||||||
_wanID src/Dodge/Data/LWorld.hs 158;" f
|
_wanID src/Dodge/Data/LWorld.hs 158;" f
|
||||||
_wanPos src/Dodge/Data/LWorld.hs 157;" f
|
_wanPos src/Dodge/Data/LWorld.hs 157;" f
|
||||||
_warmMax src/Dodge/Data/TriggerType.hs 19;" f
|
_warmMax src/Dodge/Data/TriggerType.hs 19;" f
|
||||||
_warmStart src/Dodge/Data/TriggerType.hs 15;" f
|
_warmStart src/Dodge/Data/TriggerType.hs 15;" f
|
||||||
_winVBO src/Data/Preload/Render.hs 54;" f
|
_winVBO src/Data/Preload/Render.hs 55;" f
|
||||||
_windowPosX src/Dodge/Data/Config.hs 53;" f
|
_windowPosX src/Dodge/Data/Config.hs 53;" f
|
||||||
_windowPosY src/Dodge/Data/Config.hs 54;" f
|
_windowPosY src/Dodge/Data/Config.hs 54;" f
|
||||||
_windowPullShader src/Data/Preload/Render.hs 21;" f
|
_windowPullShader src/Data/Preload/Render.hs 21;" f
|
||||||
@@ -2588,7 +2587,7 @@ attachOnward src/Dodge/Tree/Compose.hs 95;" f
|
|||||||
attachOnward' src/Dodge/Tree/Compose.hs 98;" f
|
attachOnward' src/Dodge/Tree/Compose.hs 98;" f
|
||||||
attachTree src/Dodge/Tree/Compose.hs 38;" f
|
attachTree src/Dodge/Tree/Compose.hs 38;" f
|
||||||
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f
|
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f
|
||||||
attribSize src/Shader/Compile.hs 310;" f
|
attribSize src/Shader/Compile.hs 320;" f
|
||||||
autoAmr src/Dodge/Item/Held/Rod.hs 39;" f
|
autoAmr src/Dodge/Item/Held/Rod.hs 39;" f
|
||||||
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f
|
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f
|
||||||
autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f
|
autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f
|
||||||
@@ -2642,7 +2641,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f
|
|||||||
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
|
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
|
||||||
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
|
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
|
||||||
bgunSound src/Dodge/HeldUse.hs 514;" f
|
bgunSound src/Dodge/HeldUse.hs 514;" f
|
||||||
bindFBO src/Render.hs 270;" f
|
bindFBO src/Render.hs 248;" f
|
||||||
bingate src/Dodge/Item/Scope.hs 109;" f
|
bingate src/Dodge/Item/Scope.hs 109;" f
|
||||||
black src/Color.hs 27;" f
|
black src/Color.hs 27;" f
|
||||||
blank src/Picture/Base.hs 59;" f
|
blank src/Picture/Base.hs 59;" f
|
||||||
@@ -2698,7 +2697,7 @@ brightX src/Color.hs 116;" f
|
|||||||
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
|
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
|
||||||
btText src/Dodge/Inventory/SelectionList.hs 237;" f
|
btText src/Dodge/Inventory/SelectionList.hs 237;" f
|
||||||
bufferEBO src/Shader/Bind.hs 28;" f
|
bufferEBO src/Shader/Bind.hs 28;" f
|
||||||
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 499;" f
|
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 454;" f
|
||||||
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
||||||
bufferShaderLayers src/Shader/Bind.hs 32;" f
|
bufferShaderLayers src/Shader/Bind.hs 32;" f
|
||||||
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
||||||
@@ -2754,7 +2753,7 @@ checkConnection src/Dodge/Inventory/Swap.hs 66;" f
|
|||||||
checkDeath src/Dodge/Creature/Update.hs 70;" f
|
checkDeath src/Dodge/Creature/Update.hs 70;" f
|
||||||
checkDeath' src/Dodge/Creature/Update.hs 73;" f
|
checkDeath' src/Dodge/Creature/Update.hs 73;" f
|
||||||
checkEndGame src/Dodge/Update.hs 766;" f
|
checkEndGame src/Dodge/Update.hs 766;" f
|
||||||
checkErrorGL src/Shader/Compile.hs 259;" f
|
checkErrorGL src/Shader/Compile.hs 267;" f
|
||||||
checkFBO src/Framebuffer/Check.hs 6;" f
|
checkFBO src/Framebuffer/Check.hs 6;" f
|
||||||
checkGLError src/GLHelp.hs 14;" f
|
checkGLError src/GLHelp.hs 14;" f
|
||||||
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
|
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
|
||||||
@@ -2855,7 +2854,7 @@ compP2A src/Dodge/ShiftPoint.hs 11;" f
|
|||||||
compactDraw src/Dodge/LevelGen.hs 94;" f
|
compactDraw src/Dodge/LevelGen.hs 94;" f
|
||||||
compactDraw' src/Dodge/LevelGen.hs 105;" f
|
compactDraw' src/Dodge/LevelGen.hs 105;" f
|
||||||
compactDrawTree src/Dodge/LevelGen.hs 88;" f
|
compactDrawTree src/Dodge/LevelGen.hs 88;" f
|
||||||
compileAndCheckShader src/Shader/Compile.hs 281;" f
|
compileAndCheckShader src/Shader/Compile.hs 289;" f
|
||||||
composeNode src/Dodge/Tree/Compose.hs 76;" f
|
composeNode src/Dodge/Tree/Compose.hs 76;" f
|
||||||
composeTree src/Dodge/Tree/Compose.hs 47;" f
|
composeTree src/Dodge/Tree/Compose.hs 47;" f
|
||||||
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f
|
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f
|
||||||
@@ -2876,7 +2875,7 @@ copier src/Dodge/Item/Scope.hs 88;" f
|
|||||||
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
|
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
|
||||||
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
|
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
|
||||||
corDoor src/Dodge/Room/Room.hs 385;" f
|
corDoor src/Dodge/Room/Room.hs 385;" f
|
||||||
cornerList src/Preload/Render.hs 249;" f
|
cornerList src/Preload/Render.hs 244;" f
|
||||||
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
|
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
|
||||||
corridor src/Dodge/Room/Corridor.hs 17;" f
|
corridor src/Dodge/Room/Corridor.hs 17;" f
|
||||||
corridorBoss src/Dodge/LockAndKey.hs 133;" f
|
corridorBoss src/Dodge/LockAndKey.hs 133;" f
|
||||||
@@ -3169,8 +3168,8 @@ doDebugTestF8 src/Dodge/Update/Input/DebugTest.hs 59;" f
|
|||||||
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
|
doDoorLerp src/Dodge/Door/DoorLerp.hs 8;" f
|
||||||
doDoorMount src/Dodge/Door.hs 30;" f
|
doDoorMount src/Dodge/Door.hs 30;" f
|
||||||
doDrag src/Dodge/Update/Input/InGame.hs 127;" f
|
doDrag src/Dodge/Update/Input/InGame.hs 127;" f
|
||||||
doDrawing src/Dodge/Render.hs 35;" f
|
doDrawing src/Dodge/Render.hs 34;" f
|
||||||
doDrawing' src/Dodge/Render.hs 46;" f
|
doDrawing' src/Dodge/Render.hs 45;" f
|
||||||
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
|
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
|
||||||
doGenFloat src/Dodge/HeldUse.hs 1158;" f
|
doGenFloat src/Dodge/HeldUse.hs 1158;" f
|
||||||
doGravityPU src/Dodge/Projectile/Update.hs 35;" f
|
doGravityPU src/Dodge/Projectile/Update.hs 35;" f
|
||||||
@@ -3193,7 +3192,7 @@ doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
|
|||||||
doSectionSize src/Dodge/DisplayInventory.hs 211;" f
|
doSectionSize src/Dodge/DisplayInventory.hs 211;" f
|
||||||
doSideEffects appDodge/Main.hs 125;" f
|
doSideEffects appDodge/Main.hs 125;" f
|
||||||
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f
|
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f
|
||||||
doTestDrawing src/Dodge/Render.hs 42;" f
|
doTestDrawing src/Dodge/Render.hs 41;" f
|
||||||
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
|
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
|
||||||
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
|
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
|
||||||
doThrust src/Dodge/Projectile/Update.hs 129;" f
|
doThrust src/Dodge/Projectile/Update.hs 129;" f
|
||||||
@@ -3503,7 +3502,7 @@ forceSpine src/StrictHelp.hs 4;" f
|
|||||||
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
|
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
|
||||||
fpsText src/Dodge/Render/Picture.hs 59;" f
|
fpsText src/Dodge/Render/Picture.hs 59;" f
|
||||||
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
|
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
|
||||||
frag src/Shader/Data.hs 113;" f
|
frag src/Shader/Data.hs 111;" f
|
||||||
freeShaderPointers' src/Shader.hs 37;" f
|
freeShaderPointers' src/Shader.hs 37;" f
|
||||||
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
|
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
|
||||||
fromJust' src/MaybeHelp.hs 22;" f
|
fromJust' src/MaybeHelp.hs 22;" f
|
||||||
@@ -3533,7 +3532,7 @@ generateGraphs src/Dodge/Menu.hs 149;" f
|
|||||||
generateLayout src/Dodge/Layout/Generate.hs 10;" f
|
generateLayout src/Dodge/Layout/Generate.hs 10;" f
|
||||||
generateLevelFromRoomList src/Dodge/Layout.hs 35;" f
|
generateLevelFromRoomList src/Dodge/Layout.hs 35;" f
|
||||||
generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f
|
generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f
|
||||||
geom src/Shader/Data.hs 113;" f
|
geom src/Shader/Data.hs 111;" f
|
||||||
geometryQuickCheckTests test/Spec.hs 55;" f
|
geometryQuickCheckTests test/Spec.hs 55;" f
|
||||||
geometryTests test/Spec.hs 17;" f
|
geometryTests test/Spec.hs 17;" f
|
||||||
geometryUnitTests test/Spec.hs 22;" f
|
geometryUnitTests test/Spec.hs 22;" f
|
||||||
@@ -3552,7 +3551,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
|||||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
|
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
|
||||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
|
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
|
||||||
getDebugMouseOver src/Dodge/Update.hs 374;" f
|
getDebugMouseOver src/Dodge/Update.hs 374;" f
|
||||||
getDistortions src/Dodge/Render.hs 505;" f
|
getDistortions src/Dodge/Render.hs 466;" f
|
||||||
getEdgesCrossing src/Dodge/Path.hs 37;" f
|
getEdgesCrossing src/Dodge/Path.hs 37;" f
|
||||||
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
|
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
|
||||||
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
|
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
|
||||||
@@ -3703,7 +3702,7 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f
|
|||||||
initialRoomTree src/Dodge/Floor.hs 24;" f
|
initialRoomTree src/Dodge/Floor.hs 24;" f
|
||||||
initialWorld src/Dodge/Initialisation.hs 15;" f
|
initialWorld src/Dodge/Initialisation.hs 15;" f
|
||||||
initialisePlaying src/Sound.hs 77;" f
|
initialisePlaying src/Sound.hs 77;" f
|
||||||
initializeGLState src/Preload/Render.hs 267;" f
|
initializeGLState src/Preload/Render.hs 262;" f
|
||||||
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
|
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
|
||||||
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
|
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
|
||||||
initializeTexture2D src/Framebuffer/Update.hs 205;" f
|
initializeTexture2D src/Framebuffer/Update.hs 205;" f
|
||||||
@@ -4021,7 +4020,7 @@ makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
|
|||||||
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
|
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
|
||||||
makeBullet src/Dodge/HeldUse.hs 979;" f
|
makeBullet src/Dodge/HeldUse.hs 979;" f
|
||||||
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
|
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
|
||||||
makeByteStringShaderUsingVAO src/Shader/Compile.hs 132;" f
|
makeByteStringShaderUsingVAO src/Shader/Compile.hs 134;" f
|
||||||
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
|
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
|
||||||
makeColorTermLine src/Dodge/Terminal.hs 111;" f
|
makeColorTermLine src/Dodge/Terminal.hs 111;" f
|
||||||
makeColorTermPara src/Dodge/Terminal.hs 108;" f
|
makeColorTermPara src/Dodge/Terminal.hs 108;" f
|
||||||
@@ -4047,14 +4046,14 @@ makePathBetweenPs src/Dodge/Path.hs 87;" f
|
|||||||
makePathUsing src/Dodge/Path.hs 51;" f
|
makePathUsing src/Dodge/Path.hs 51;" f
|
||||||
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f
|
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f
|
||||||
makeSelectionListPictures src/Dodge/Render/List.hs 66;" f
|
makeSelectionListPictures src/Dodge/Render/List.hs 66;" f
|
||||||
makeShaderEBO src/Shader/Compile.hs 53;" f
|
makeShaderEBO src/Shader/Compile.hs 54;" f
|
||||||
makeShaderProgram src/Shader/Compile.hs 245;" f
|
makeShaderProgram src/Shader/Compile.hs 253;" f
|
||||||
makeShaderUsingVAO src/Shader/Compile.hs 150;" f
|
makeShaderUsingVAO src/Shader/Compile.hs 152;" f
|
||||||
makeShaderUsingVBO src/Shader/Compile.hs 69;" f
|
makeShaderUsingVBO src/Shader/Compile.hs 70;" f
|
||||||
makeShaderVBO src/Shader/Compile.hs 32;" f
|
makeShaderVBO src/Shader/Compile.hs 33;" f
|
||||||
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 11;" f
|
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 11;" f
|
||||||
makeShrapnelAt src/Dodge/Payload.hs 24;" f
|
makeShrapnelAt src/Dodge/Payload.hs 24;" f
|
||||||
makeSourcedShader src/Shader/Compile.hs 171;" f
|
makeSourcedShader src/Shader/Compile.hs 173;" f
|
||||||
makeSpark src/Dodge/Spark.hs 45;" f
|
makeSpark src/Dodge/Spark.hs 45;" f
|
||||||
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
|
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
|
||||||
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
|
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
|
||||||
@@ -4329,7 +4328,7 @@ pincerP src/Dodge/Creature/Boid.hs 63;" f
|
|||||||
pincerP' src/Dodge/Creature/Boid.hs 96;" f
|
pincerP' src/Dodge/Creature/Boid.hs 96;" f
|
||||||
pincerP'' src/Dodge/Creature/Boid.hs 106;" f
|
pincerP'' src/Dodge/Creature/Boid.hs 106;" f
|
||||||
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
|
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
|
||||||
pingPongBetween src/Render.hs 246;" f
|
pingPongBetween src/Render.hs 224;" f
|
||||||
pipe src/Dodge/Item/Craftable.hs 32;" f
|
pipe src/Dodge/Item/Craftable.hs 32;" f
|
||||||
pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
||||||
pistolerRoom src/Dodge/Room/Room.hs 330;" f
|
pistolerRoom src/Dodge/Room/Room.hs 330;" f
|
||||||
@@ -4358,16 +4357,16 @@ playSoundAndUpdate src/Sound.hs 54;" f
|
|||||||
playSoundQueue src/Sound.hs 132;" f
|
playSoundQueue src/Sound.hs 132;" f
|
||||||
playSoundUnlessRewinding appDodge/Main.hs 118;" f
|
playSoundUnlessRewinding appDodge/Main.hs 118;" f
|
||||||
plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f
|
plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f
|
||||||
pmLineLoop src/Shader/Data.hs 118;" f
|
pmLineLoop src/Shader/Data.hs 116;" f
|
||||||
pmLineStrip src/Shader/Data.hs 118;" f
|
pmLineStrip src/Shader/Data.hs 116;" f
|
||||||
pmLines src/Shader/Data.hs 118;" f
|
pmLines src/Shader/Data.hs 116;" f
|
||||||
pmLinesAdjacency src/Shader/Data.hs 118;" f
|
pmLinesAdjacency src/Shader/Data.hs 116;" f
|
||||||
pmPatches src/Shader/Data.hs 118;" f
|
pmPatches src/Shader/Data.hs 116;" f
|
||||||
pmPoints src/Shader/Data.hs 118;" f
|
pmPoints src/Shader/Data.hs 116;" f
|
||||||
pmQuads src/Shader/Data.hs 118;" f
|
pmQuads src/Shader/Data.hs 116;" f
|
||||||
pmTriangleFan src/Shader/Data.hs 118;" f
|
pmTriangleFan src/Shader/Data.hs 116;" f
|
||||||
pmTriangleStrip src/Shader/Data.hs 118;" f
|
pmTriangleStrip src/Shader/Data.hs 116;" f
|
||||||
pmTriangles src/Shader/Data.hs 118;" f
|
pmTriangles src/Shader/Data.hs 116;" f
|
||||||
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
|
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
|
||||||
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
|
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
|
||||||
pointInCircle src/Geometry.hs 209;" f
|
pointInCircle src/Geometry.hs 209;" f
|
||||||
@@ -4449,7 +4448,7 @@ powlistUpToN' src/Multiset.hs 12;" f
|
|||||||
powlistUpToN'' src/Multiset.hs 31;" f
|
powlistUpToN'' src/Multiset.hs 31;" f
|
||||||
preCritStart src/Dodge/Room/Start.hs 83;" f
|
preCritStart src/Dodge/Room/Start.hs 83;" f
|
||||||
prePos src/Quaternion.hs 64;" f
|
prePos src/Quaternion.hs 64;" f
|
||||||
preloadRender src/Preload/Render.hs 31;" f
|
preloadRender src/Preload/Render.hs 32;" f
|
||||||
premapMaybe src/FoldlHelp.hs 26;" f
|
premapMaybe src/FoldlHelp.hs 26;" f
|
||||||
prependTwo src/Geometry.hs 177;" f
|
prependTwo src/Geometry.hs 177;" f
|
||||||
prettyDT src/Dodge/DoubleTree.hs 258;" f
|
prettyDT src/Dodge/DoubleTree.hs 258;" f
|
||||||
@@ -4604,7 +4603,7 @@ renderDataResizeUpdate src/Preload/Update.hs 26;" f
|
|||||||
renderFlatLighting src/Render.hs 107;" f
|
renderFlatLighting src/Render.hs 107;" f
|
||||||
renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
|
renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
|
||||||
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
|
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
|
||||||
renderLayer src/Render.hs 259;" f
|
renderLayer src/Render.hs 237;" f
|
||||||
renderLightingNoShadows src/Render.hs 48;" f
|
renderLightingNoShadows src/Render.hs 48;" f
|
||||||
renderListAt src/Dodge/Render/List.hs 192;" f
|
renderListAt src/Dodge/Render/List.hs 192;" f
|
||||||
renderShadows src/Render.hs 122;" f
|
renderShadows src/Render.hs 122;" f
|
||||||
@@ -4807,7 +4806,7 @@ setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
|
|||||||
setRoomInt src/Dodge/Room/Tutorial.hs 91;" f
|
setRoomInt src/Dodge/Room/Tutorial.hs 91;" f
|
||||||
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
|
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
|
||||||
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
|
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
|
||||||
setShaderSource src/Shader/Compile.hs 294;" f
|
setShaderSource src/Shader/Compile.hs 302;" f
|
||||||
setShadowLimits src/Dodge/Shadows.hs 11;" f
|
setShadowLimits src/Dodge/Shadows.hs 11;" f
|
||||||
setSoundVolume src/Sound.hs 157;" f
|
setSoundVolume src/Sound.hs 157;" f
|
||||||
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
|
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
|
||||||
@@ -4816,29 +4815,29 @@ setTiles src/Dodge/Layout.hs 67;" f
|
|||||||
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
|
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
|
||||||
setViewDistance src/Dodge/Update/Camera.hs 239;" f
|
setViewDistance src/Dodge/Update/Camera.hs 239;" f
|
||||||
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
||||||
setViewport src/Dodge/Render.hs 510;" f
|
setViewport src/Dodge/Render.hs 471;" f
|
||||||
setVol src/Dodge/Config.hs 47;" f
|
setVol src/Dodge/Config.hs 47;" f
|
||||||
setWristShieldPos src/Dodge/Equipment.hs 49;" f
|
setWristShieldPos src/Dodge/Equipment.hs 49;" f
|
||||||
setWristShieldPos src/Dodge/Euse.hs 38;" f
|
setWristShieldPos src/Dodge/Euse.hs 38;" f
|
||||||
setupConLoop src/Loop.hs 103;" f
|
setupConLoop src/Loop.hs 103;" f
|
||||||
setupConLoop' src/Loop.hs 193;" f
|
setupConLoop' src/Loop.hs 193;" f
|
||||||
setupEBO src/Shader/Compile.hs 192;" f
|
setupEBO src/Shader/Compile.hs 197;" f
|
||||||
setupFramebuffer2GivenStencil src/Framebuffer/Setup.hs 46;" f
|
setupFramebuffer2GivenStencil src/Framebuffer/Setup.hs 46;" f
|
||||||
setupFramebuffer3GivenStencil src/Framebuffer/Setup.hs 62;" f
|
setupFramebuffer3GivenStencil src/Framebuffer/Setup.hs 62;" f
|
||||||
setupFramebufferGivenStencil src/Framebuffer/Setup.hs 31;" f
|
setupFramebufferGivenStencil src/Framebuffer/Setup.hs 31;" f
|
||||||
setupLoop src/Loop.hs 30;" f
|
setupLoop src/Loop.hs 30;" f
|
||||||
setupShadowFramebuffer src/Framebuffer/Setup.hs 24;" f
|
setupShadowFramebuffer src/Framebuffer/Setup.hs 24;" f
|
||||||
setupStaticVBOVAO src/Shader/Compile.hs 102;" f
|
setupStaticVBOVAO src/Shader/Compile.hs 103;" f
|
||||||
setupVAOUsingVBO src/Shader/Compile.hs 183;" f
|
setupVAOUsingVBO src/Shader/Compile.hs 185;" f
|
||||||
setupVBO src/Shader/Compile.hs 83;" f
|
setupVBO src/Shader/Compile.hs 84;" f
|
||||||
setupVBOStatic src/Shader/Compile.hs 118;" f
|
setupVBOStatic src/Shader/Compile.hs 120;" f
|
||||||
setupVBOVAO src/Shader/Compile.hs 204;" f
|
setupVBOVAO src/Shader/Compile.hs 209;" f
|
||||||
setupVertexAttribPointer src/Shader/Compile.hs 228;" f
|
setupVertexAttribPointer src/Shader/Compile.hs 234;" f
|
||||||
setupVertexAttribs src/Shader/Compile.hs 222;" f
|
setupVertexAttribs src/Shader/Compile.hs 228;" f
|
||||||
setupWorldBounds src/Dodge/Layout.hs 116;" f
|
setupWorldBounds src/Dodge/Layout.hs 116;" f
|
||||||
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
|
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
|
||||||
shadVBOptr src/Shader.hs 40;" f
|
shadVBOptr src/Shader.hs 40;" f
|
||||||
shaderTypeExt src/Shader/Compile.hs 176;" f
|
shaderTypeExt src/Shader/Compile.hs 178;" f
|
||||||
shapeBounds src/Dodge/Room/Foreground.hs 147;" f
|
shapeBounds src/Dodge/Room/Foreground.hs 147;" f
|
||||||
shapePoints src/Dodge/Room/Foreground.hs 144;" f
|
shapePoints src/Dodge/Room/Foreground.hs 144;" f
|
||||||
shapeVerxSize src/Shape/Parameters.hs 5;" f
|
shapeVerxSize src/Shape/Parameters.hs 5;" f
|
||||||
@@ -5149,7 +5148,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 141;" f
|
|||||||
toBothLnk src/Dodge/RoomLink.hs 136;" f
|
toBothLnk src/Dodge/RoomLink.hs 136;" f
|
||||||
toClosestMultiple src/HelpNum.hs 3;" f
|
toClosestMultiple src/HelpNum.hs 3;" f
|
||||||
toColor8 src/Color.hs 148;" f
|
toColor8 src/Color.hs 148;" f
|
||||||
toFloatVAs src/Shader/Compile.hs 215;" f
|
toFloatVAs src/Shader/Compile.hs 220;" f
|
||||||
toLabel src/Dodge/Cleat.hs 16;" f
|
toLabel src/Dodge/Cleat.hs 16;" f
|
||||||
toMultiset src/Multiset.hs 64;" f
|
toMultiset src/Multiset.hs 64;" f
|
||||||
toOnward src/Dodge/Tree/Compose.hs 101;" f
|
toOnward src/Dodge/Tree/Compose.hs 101;" f
|
||||||
@@ -5447,10 +5446,10 @@ vShape src/Dodge/Placement/Instance/LightSource.hs 93;" f
|
|||||||
vToL src/MatrixHelper.hs 56;" f
|
vToL src/MatrixHelper.hs 56;" f
|
||||||
vToQuat src/Quaternion.hs 42;" f
|
vToQuat src/Quaternion.hs 42;" f
|
||||||
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
|
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
|
||||||
vasTightStride src/Shader/Compile.hs 301;" f
|
vasTightStride src/Shader/Compile.hs 309;" f
|
||||||
vecBetweenSpeed src/Dodge/Base.hs 146;" f
|
vecBetweenSpeed src/Dodge/Base.hs 146;" f
|
||||||
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
|
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
|
||||||
vert src/Shader/Data.hs 113;" f
|
vert src/Shader/Data.hs 111;" f
|
||||||
vertScale src/MatrixHelper.hs 95;" f
|
vertScale src/MatrixHelper.hs 95;" f
|
||||||
vertTrans src/MatrixHelper.hs 103;" f
|
vertTrans src/MatrixHelper.hs 103;" f
|
||||||
verticalPipe src/Dodge/Picture.hs 19;" f
|
verticalPipe src/Dodge/Picture.hs 19;" f
|
||||||
@@ -5515,7 +5514,7 @@ windowLine src/Dodge/Placement/Instance/Wall.hs 59;" f
|
|||||||
windowXFloat src/Dodge/Data/Config.hs 61;" f
|
windowXFloat src/Dodge/Data/Config.hs 61;" f
|
||||||
windowYFloat src/Dodge/Data/Config.hs 63;" f
|
windowYFloat src/Dodge/Data/Config.hs 63;" f
|
||||||
withAlpha src/Color.hs 10;" f
|
withAlpha src/Color.hs 10;" f
|
||||||
withByteString src/Shader/Compile.hs 328;" f
|
withByteString src/Shader/Compile.hs 338;" f
|
||||||
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
|
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
|
||||||
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
|
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
|
||||||
wlIXsNearRect src/Dodge/Zoning/Wall.hs 29;" f
|
wlIXsNearRect src/Dodge/Zoning/Wall.hs 29;" f
|
||||||
|
|||||||
Reference in New Issue
Block a user