/* WARNING, THIS FILE WAS GENERATED, DO NOT EDIT */
#ifndef VERTEX_FRAGMENT_GLSL_GEN_HGLES3_GLES3
#define VERTEX_FRAGMENT_GLSL_GEN_HGLES3_GLES3


#include "drivers/gles3/shader_gles3.h"


class VertexFragmentShaderGLES3 : public ShaderGLES3 {

public:

	enum ShaderVariant {
		MODE_NINEPATCH,
	};

	enum Specializations {
		DISABLE_LIGHTING=1,
	};

	_FORCE_INLINE_ bool version_bind_shader(RID p_version,ShaderVariant p_variant,uint64_t p_specialization=0) { return _version_bind_shader(p_version,p_variant,p_specialization); }

protected:

	virtual void _init() override {

		static const char **_uniform_strings=nullptr;
		static const char* _variant_defines[]={
			"#define USE_NINEPATCH",
		};

		static TexUnitPair *_texunit_pairs=nullptr;
		static UBOPair *_ubo_pairs=nullptr;
		static Specialization _spec_pairs[]={
			{"DISABLE_LIGHTING",false},
		};

		static const Feedback* _feedbacks=nullptr;
		static const char _vertex_code[]={
R"<!>(
precision highp float;
precision highp int;

layout(location = 0) in highp vec3 vertex;

out highp vec4 position_interp;

void main() {
	position_interp = vec4(vertex.x,1,0,1);
}

)<!>"
		};

		static const char _fragment_code[]={
R"<!>(
precision highp float;
precision highp int;

in highp vec4 position_interp;

void main() {
	highp float depth = ((position_interp.z / position_interp.w) + 1.0);
	frag_color = vec4(depth);
}
)<!>"
		};

		_setup(_vertex_code,_fragment_code,"VertexFragmentShaderGLES3",0,_uniform_strings,0,_ubo_pairs,0,_feedbacks,0,_texunit_pairs,1,_spec_pairs,1,_variant_defines);
	}

};

#endif
