|
11 | 11 | 2. [Optional depedencies](#opt_deps) |
12 | 12 | 3. [Linux, Macos, Windows](#bash) |
13 | 13 | 5. [Getting started](#get_started) |
14 | | -6. [Planned additions](#plans) |
15 | | -7. [How to contribute](#contribute) |
16 | | -8. [Resources](#resources) |
| 14 | +6. [Examples](#examples) |
| 15 | +7. [Planned additions](#plans) |
| 16 | +8. [How to contribute](#contribute) |
| 17 | +9. [Resources](#resources) |
17 | 18 | ## Description <a name="description"></a> |
18 | 19 | Lambda is a framework for developing cross platform applications and workloads using Rust. |
19 | 20 |
|
@@ -88,37 +89,69 @@ If this works successfully, then lambda is ready to work on your system! |
88 | 89 | ## Getting started <a name="get_started"></a> |
89 | 90 | Coming soon. |
90 | 91 |
|
| 92 | +## Examples <a name="examples"></a> |
| 93 | +### Minimal |
| 94 | +A minimal example of an application with a working window using lambda. |
| 95 | +```rust |
| 96 | +cargo run --example minimal |
| 97 | +``` |
| 98 | + |
| 99 | +### Push Constants |
| 100 | +An example of using shaders with push constants to render a 3D image. |
| 101 | +```rust |
| 102 | +cargo run --example push_constants |
| 103 | +``` |
| 104 | + |
| 105 | +### Triangle |
| 106 | +An example using shaders to render a single triangle. |
| 107 | +```rust |
| 108 | +cargo run --example triangle |
| 109 | +``` |
| 110 | + |
| 111 | +### Triangles |
| 112 | +An example using shaders to render multiple triangles and keyboard input to move one of the triangles on screen. |
| 113 | +```rust |
| 114 | +cargo run --example triangles |
| 115 | +``` |
91 | 116 |
|
92 | 117 | ## Plans <a name="plans"></a> |
93 | | -- [x] Architecture support |
| 118 | +- ### Architecture support |
94 | 119 | - [x] x86 |
95 | 120 | - [x] arm64 |
96 | | -- [ ] Operating system support |
| 121 | +- ### Operating system support |
97 | 122 | - [x] MacOS |
98 | 123 | - [x] Linux |
99 | 124 | - [x] Windows 10/11 |
100 | 125 | - [ ] Xbox Series S|X (Long term goal) |
101 | 126 | - [ ] iOS (Long term goal) |
102 | 127 | - [ ] Android (Long term goal) |
103 | | -- [x] Rendering API support |
| 128 | +- ### Rendering API support |
104 | 129 | - [x] OpenGL |
105 | 130 | - [x] Vulkan |
106 | 131 | - [x] Metal |
107 | 132 | - [x] DirectX11 |
108 | 133 | - [x] DirectX12 |
109 | | -- [ ] Crates |
110 | | - - [ ] lambda-arch -- Architecture support |
111 | | - - [x] (WIP) lambda-platform -- Platform support |
112 | | - - [ ] (WIP) lambda-core -- Core library implementations |
113 | | - - [ ] lambda-cloud -- Cloud integrations |
114 | | - - [ ] (WIP) lambda -- The public Lambda API |
115 | | -- [ ] Tools |
116 | | - - [x] lambda-rs-demo -- 2D rendering demo |
117 | | - - [ ] lambda-rs-cube -- 3D rendering demo |
118 | | - - [ ] lambda-checker -- Checks system specifications against lambda requirements |
119 | | -- [ ] CI/CD |
120 | | - - [ ] Github action pipelines for creating downloadable builds from releases. |
121 | | - - [ ] Tests & benchmarking. |
| 134 | +- ### Crates |
| 135 | + - [x] (WIP) lambda-args -- Command line argument parsing. |
| 136 | + - [x] (WIP) lambda-platform -- Dependency wrappers & platform support. |
| 137 | + - [ ] lambda-cloud -- Cloud integrations. |
| 138 | + - [x] (WIP) lambda -- The public Lambda API. |
| 139 | +- ### Examples |
| 140 | + - [x] Minimal -- A minimal example of an application with a working window |
| 141 | + using lambda. |
| 142 | + - [x] Push Constants -- An example of using shaders with push constants to |
| 143 | + render a 3D image. |
| 144 | + - [x] Triangle -- An example using shaders to render a single triangle. |
| 145 | + - [x] Triangles -- An example using shaders to render multiple triangles and keyboard input to move one of the triangles on screen. |
| 146 | +- ### Tools |
| 147 | + - [x] obj-loader -- (WIP) Loads .obj files into lambda. Meshes need to be triangulated in order for it to render at the moment. |
| 148 | + - [ ] platform-info -- Utility for viewing information about the current platform. |
| 149 | +- ### CI/CD |
| 150 | + - [x] Github action pipelines for building lambda on all platforms. |
| 151 | + - [ ] Github action pipelines for creating downloadable builds from releases. |
| 152 | + - [ ] Tests & benchmarking. |
| 153 | + - [ ] Unit tests. |
| 154 | + - [ ] Nightly builds. |
122 | 155 |
|
123 | 156 | ## How to contribute <a name="contribute"></a> |
124 | 157 | Fork the current repository and then make the changes that you'd like to |
|
0 commit comments