public ShapeRenderer3d(RenderingDevice device) { _device = device; _lineMaterial = CreateLineMaterial(false).Ref(); _quadMaterial = CreateQuadMaterial().Ref(); _lineOccludedMaterial = CreateLineMaterial(true).Ref(); _discBufferBinding = _device.CreateMdfBufferBinding().Ref(); _lineBinding = new BufferBinding(_device, _lineMaterial.Resource.VertexShader).Ref(); _circleBinding = new BufferBinding(_device, _lineMaterial.Resource.VertexShader).Ref(); _discVerticesTpl[0].pos = new Vector4(-1.0f, 0.0f, -1.0f, 1); _discVerticesTpl[1].pos = new Vector4(0.0f, 0.0f, -1.0f, 1); _discVerticesTpl[2].pos = new Vector4(0.0f, 0.0f, 0.0f, 1); _discVerticesTpl[3].pos = new Vector4(-1.0f, 0.0f, 0.0f, 1); _discVerticesTpl[4].pos = new Vector4(0.0f, 0.0f, -1.0f, 1); _discVerticesTpl[5].pos = new Vector4(1.0f, 0.0f, -1.0f, 1); _discVerticesTpl[6].pos = new Vector4(1.0f, 0.0f, 0.0f, 1); _discVerticesTpl[7].pos = new Vector4(0.0f, 0.0f, 0.0f, 1); _discVerticesTpl[8].pos = new Vector4(0.0f, 0.0f, 0.0f, 1); _discVerticesTpl[9].pos = new Vector4(1.0f, 0.0f, 0.0f, 1); _discVerticesTpl[10].pos = new Vector4(1.0f, 0.0f, 1.0f, 1); _discVerticesTpl[11].pos = new Vector4(0.0f, 0.0f, 1.0f, 1); _discVerticesTpl[12].pos = new Vector4(-1.0f, 0.0f, 0.0f, 1); _discVerticesTpl[13].pos = new Vector4(0.0f, 0.0f, 0.0f, 1); _discVerticesTpl[14].pos = new Vector4(0.0f, 0.0f, 1.0f, 1); _discVerticesTpl[15].pos = new Vector4(-1.0f, 0.0f, 1.0f, 1); for (var i = 0; i < _discVerticesTpl.Length; i++) { _discVerticesTpl[i].normal = new Vector4(0, 1, 0, 0); } _discVerticesTpl[0].uv = new Vector2(0, 0); _discVerticesTpl[1].uv = new Vector2(1, 0); _discVerticesTpl[2].uv = new Vector2(1, 1); _discVerticesTpl[3].uv = new Vector2(0, 1); _discVerticesTpl[4].uv = new Vector2(0, 1); _discVerticesTpl[5].uv = new Vector2(0, 0); _discVerticesTpl[6].uv = new Vector2(1, 0); _discVerticesTpl[7].uv = new Vector2(1, 1); _discVerticesTpl[8].uv = new Vector2(1, 1); _discVerticesTpl[9].uv = new Vector2(0, 1); _discVerticesTpl[10].uv = new Vector2(0, 0); _discVerticesTpl[11].uv = new Vector2(1, 0); _discVerticesTpl[12].uv = new Vector2(1, 0); _discVerticesTpl[13].uv = new Vector2(1, 1); _discVerticesTpl[14].uv = new Vector2(0, 1); _discVerticesTpl[15].uv = new Vector2(0, 0); _resourceListener = new ResourceLifecycleCallbacks(_device, CreateResources, FreeResources); }
public FontRenderer(RenderingDevice device) { _device = device; _material = CreateMaterial(device).Ref(); _sampler = device.CreateSamplerState(new SamplerSpec() { addressU = TextureAddress.Clamp, addressV = TextureAddress.Clamp, magFilter = TextureFilterType.Linear, minFilter = TextureFilterType.Linear }); _callbacks = new ResourceLifecycleCallbacks(device, CreateResources, FreeResources); for (var i = 0; i < _fileState.Length; i++) { _fileState[i] = new GlyphFileState(); } }