private void RasterizeAndFragmentShader() { var usingPass = UsingPass; var drawState = usingPass.State; switch (drawState.PolygonMode) { case PolygonMode.Triangle: var len = trianglePrimitiveHelper.Count; for (int i = 0; i < len; i++) { var t = trianglePrimitiveHelper[i]; //if (t.clip) continue; // 光栅化成片段 Rasterizer.GenFragInfo(t, genShadedFragHelper, genWireframeFragHelper, genNormalLineFragHelper); // 处理片段 InnerFragmentShader(genShadedFragHelper, genWireframeFragHelper, genNormalLineFragHelper); } break; case PolygonMode.Line: throw new Exception($"not implements polygonMode:{drawState.PolygonMode}"); case PolygonMode.Point: throw new Exception($"not implements polygonMode:{drawState.PolygonMode}"); default: throw new Exception($"not implements polygonMode:{drawState.PolygonMode}"); } }