Esempio n. 1
0
 public TesselationEvaluationShader GetGLShaderToPixel(TesselationLayout layout)
 {
     return glShadersToGeometry.GetOrAdd(layout, this, (l, c) => c.CreateNative(l, ShaderStage.Pixel));
 }
Esempio n. 2
0
 TesselationEvaluationShader CreateNative(TesselationLayout layout, ShaderStage outputStage)
 {
     var text = GenerateText<CDomainShader, Pair<TesselationLayout, ShaderStage>>(new Pair<TesselationLayout, ShaderStage>(layout, outputStage), WriteLayout, WriteIOAndCode);
     TesselationEvaluationShader glShader;
     string errors;
     if (!TesselationEvaluationShader.TryCompile(text, out glShader, out errors))
         throw new Exception("Failed to compile a shader.\r\n\r\nShader Text:\r\n\r\n" + text + "\r\n\r\nErrors:\r\n\r\n" + errors);
     return glShader;
 }