MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / Run

Method Run

deps/LLGL/examples/CSharp/HelloTriangle/Program.cs:23–169  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

21 private RenderSystem renderer;
22
23 public void Run()
24 {
25
26 try
27 {
28 // Load renderer
29 renderer = RenderSystem.Load("OpenGL", debugger);
30
31 // Create render context
32 var contextDesc = new RenderContextDescriptor();
33 {
34 contextDesc.VideoMode.Resolution.Width = 800;
35 contextDesc.VideoMode.Resolution.Height = 600;
36 contextDesc.VideoMode.ColorBits = 32;
37 contextDesc.VideoMode.DepthBits = 24;
38 contextDesc.VideoMode.StencilBits = 8;
39 contextDesc.Samples = 8;
40 }
41 var context = renderer.CreateRenderContext(contextDesc);
42
43 // Get context window
44 var window = context.Surface;
45 window.Shown = true;
46
47 window.Title = $"LLGL for C# - HelloTriangle ( {renderer.Name} )";
48
49 // Print renderer information
50 Console.WriteLine("Renderer Info:");
51 var info = renderer.Info;
52 {
53 Console.WriteLine($" Renderer: {info.RendererName}");
54 Console.WriteLine($" Device: {info.DeviceName}");
55 Console.WriteLine($" Vendor: {info.VendorName}");
56 Console.WriteLine($" Shading Language: {info.ShadingLanguageName}");
57 }
58
59 // Create vertex buffer
60 var vertexFormat = new VertexFormat();
61 vertexFormat.AppendAttribute(new VertexAttribute("coord", Format.RGBA32Float, 0));
62 vertexFormat.AppendAttribute(new VertexAttribute("color", Format.RGBA8UNorm, 1));
63
64 var vertices = new []
65 {
66 new Vertex{ x = 0.0f, y = 0.5f, z = 0.0f, w = 1.0f, r = 255, g = 0, b = 0, a = 255 },
67 new Vertex{ x = 0.5f, y = -0.5f, z = 0.0f, w = 1.0f, r = 0, g = 255, b = 0, a = 255 },
68 new Vertex{ x = -0.5f, y = -0.5f, z = 0.0f, w = 1.0f, r = 0, g = 0, b = 255, a = 255 },
69 };
70
71 var vertexBufferDesc = new BufferDescriptor();
72 {
73 vertexBufferDesc.BindFlags = BindFlags.VertexBuffer;
74 vertexBufferDesc.Size = vertexFormat.Attributes[0].Stride * (ulong)vertices.Length;
75 vertexBufferDesc.VertexAttribs = vertexFormat.Attributes;
76 }
77 var vertexBuffer = renderer.CreateBuffer(vertexBufferDesc, vertices);
78
79 // Create shaders
80 var vsDesc = new ShaderDescriptor(

Callers 1

MainMethod · 0.45

Calls 15

AppendAttributeMethod · 0.80
UnloadMethod · 0.80
LoadMethod · 0.45
CreateRenderContextMethod · 0.45
CreateBufferMethod · 0.45
CreateShaderMethod · 0.45
CreateShaderProgramMethod · 0.45
CreatePipelineStateMethod · 0.45
CreateCommandBufferMethod · 0.45
SetClearColorMethod · 0.45
ProcessEventsMethod · 0.45
BeginMethod · 0.45

Tested by

no test coverage detected