	.file	"385490.c"
	.intel_syntax noprefix
	.text
	.globl	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size
	.data
	.align 4
	.type	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size, @object
	.size	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size, 4
datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size:
	.long	1428
	.globl	datatoc_gpu_shader_edges_front_back_persp_geom_glsl
	.align 32
	.type	datatoc_gpu_shader_edges_front_back_persp_geom_glsl, @object
	.size	datatoc_gpu_shader_edges_front_back_persp_geom_glsl, 1429
datatoc_gpu_shader_edges_front_back_persp_geom_glsl:
	.ascii	"\r\n// Draw \"fancy\" wireframe, displaying front-facing, ba"
	.ascii	"ck-facing and\r\n// silhouette lines differently.\r\n// Mike"
	.ascii	" Erwin, April 2015\r\n\r\n// After working with this shader "
	.ascii	"a while, convinced we should make\r\n// separate shaders for"
	.ascii	" perpective & ortho. (Oct 2016)\r\n\r\n// Due to perspective"
	.ascii	", the line segment's endpoints might disagree on\r\n// wheth"
	.ascii	"er the adjacent faces are front facing. This geometry shader"
	.ascii	"\r\n// decides which edge type to use if endpoints disagree."
	.ascii	"\r\n\r\nuniform mat4 ProjectionMatrix;\r\n\r\nuniform bool d"
	.ascii	"rawFront = true;\r\nuniform bool drawBack = true;\r\nuniform"
	.ascii	" bool drawSilhouette = true;\r\n\r\nuniform vec4 frontColor;"
	.ascii	"\r\nuniform vec4 backColor;\r\nuniform vec4 silhouetteColor;"
	.ascii	"\r\n\r\nlayout(lines) in;\r\nlayout(line_strip, max_vertices"
	.ascii	" = 2) out;\r\n\r\nin vec4 MV_pos[];\r\nin float edgeClass[];"
	.ascii	"\r\n\r\nflat out vec4 finalColor;\r\n\r\nvoid emitLine(vec4 "
	.ascii	"color)\r\n{\r\n\tgl_Position = ProjectionMatrix * MV_pos[0];"
	.ascii	"\r\n\tEmitVertex();\r\n\tgl_Position = ProjectionMatrix * MV"
	.ascii	"_pos[1];\r\n\tfinalColor = color;\r\n\tEmitVertex();\r\n\tEn"
	.ascii	"dPrimitive();\r\n}\r\n\r\nvoid main()\r\n{\r\n\tfloat finalE"
	.ascii	"dgeClass = max(edgeClass[0], edgeClass[1]);\r\n\r\n\tif (fin"
	.ascii	"alEdgeClass > 0.0f) {\r\n\t\t// front-facing edge\r\n\t\tif "
	.ascii	"(drawFront)\r\n\t\t\tem"
	.string	"itLine(frontColor);\r\n\t}\r\n\telse if (finalEdgeClass < 0.0f) {\r\n\t\t// back-facing edge\r\n\t\tif (drawBack)\r\n\t\t\temitLine(backColor);\r\n\t}\r\n\telse {\r\n\t\t// exactly one face is front-facing, silhouette edge\r\n\t\tif (drawSilhouette)\r\n\t\t\temitLine(silhouetteColor);\r\n\t}\r\n}\r\n"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"385490.c"
	.text
	.global	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size
	.data
	.align	2
	.type	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size, %object
	.size	datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size, 4
datatoc_gpu_shader_edges_front_back_persp_geom_glsl_size:
	.word	1428
	.global	datatoc_gpu_shader_edges_front_back_persp_geom_glsl
	.align	2
	.type	datatoc_gpu_shader_edges_front_back_persp_geom_glsl, %object
	.size	datatoc_gpu_shader_edges_front_back_persp_geom_glsl, 1429
datatoc_gpu_shader_edges_front_back_persp_geom_glsl:
	.ascii	"\015\012// Draw \"fancy\" wireframe, displaying fro"
	.ascii	"nt-facing, back-facing and\015\012// silhouette lin"
	.ascii	"es differently.\015\012// Mike Erwin, April 2015\015"
	.ascii	"\012\015\012// After working with this shader a whi"
	.ascii	"le, convinced we should make\015\012// separate sha"
	.ascii	"ders for perpective & ortho. (Oct 2016)\015\012\015"
	.ascii	"\012// Due to perspective, the line segment's endpo"
	.ascii	"ints might disagree on\015\012// whether the adjace"
	.ascii	"nt faces are front facing. This geometry shader\015"
	.ascii	"\012// decides which edge type to use if endpoints "
	.ascii	"disagree.\015\012\015\012uniform mat4 ProjectionMat"
	.ascii	"rix;\015\012\015\012uniform bool drawFront = true;\015"
	.ascii	"\012uniform bool drawBack = true;\015\012uniform bo"
	.ascii	"ol drawSilhouette = true;\015\012\015\012uniform ve"
	.ascii	"c4 frontColor;\015\012uniform vec4 backColor;\015\012"
	.ascii	"uniform vec4 silhouetteColor;\015\012\015\012layout"
	.ascii	"(lines) in;\015\012layout(line_strip, max_vertices "
	.ascii	"= 2) out;\015\012\015\012in vec4 MV_pos[];\015\012i"
	.ascii	"n float edgeClass[];\015\012\015\012flat out vec4 f"
	.ascii	"inalColor;\015\012\015\012void emitLine(vec4 color)"
	.ascii	"\015\012{\015\012\011gl_Position = ProjectionMatrix"
	.ascii	" * MV_pos[0];\015\012\011EmitVertex();\015\012\011g"
	.ascii	"l_Position = ProjectionMatrix * MV_pos[1];\015\012\011"
	.ascii	"finalColor = color;\015\012\011EmitVertex();\015\012"
	.ascii	"\011EndPrimitive();\015\012}\015\012\015\012void ma"
	.ascii	"in()\015\012{\015\012\011float finalEdgeClass = max"
	.ascii	"(edgeClass[0], edgeClass[1]);\015\012\015\012\011if"
	.ascii	" (finalEdgeClass > 0.0f) {\015\012\011\011// front-"
	.ascii	"facing edge\015\012\011\011if (drawFront)\015\012\011"
	.ascii	"\011\011emitLine(frontColor);\015\012\011}\015\012\011"
	.ascii	"else if (finalEdgeClass < 0.0f) {\015\012\011\011//"
	.ascii	" back-facing edge\015\012\011\011if (drawBack)\015\012"
	.ascii	"\011\011\011emitLine(backColor);\015\012\011}\015\012"
	.ascii	"\011else {\015\012\011\011// exactly one face is fr"
	.ascii	"ont-facing, silhouette edge\015\012\011\011if (draw"
	.ascii	"Silhouette)\015\012\011\011\011emitLine(silhouetteC"
	.ascii	"olor);\015\012\011}\015\012}\015\012\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
