Skip to content

Commit e81d5df

Browse files
committed
[update] readme.
1 parent fff9e03 commit e81d5df

1 file changed

Lines changed: 52 additions & 19 deletions

File tree

README.md

Lines changed: 52 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
2. [Optional depedencies](#opt_deps)
1212
3. [Linux, Macos, Windows](#bash)
1313
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)
1718
## Description <a name="description"></a>
1819
Lambda is a framework for developing cross platform applications and workloads using Rust.
1920

@@ -88,37 +89,69 @@ If this works successfully, then lambda is ready to work on your system!
8889
## Getting started <a name="get_started"></a>
8990
Coming soon.
9091

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+
```
91116

92117
## Plans <a name="plans"></a>
93-
- [x] Architecture support
118+
- ### Architecture support
94119
- [x] x86
95120
- [x] arm64
96-
- [ ] Operating system support
121+
- ### Operating system support
97122
- [x] MacOS
98123
- [x] Linux
99124
- [x] Windows 10/11
100125
- [ ] Xbox Series S|X (Long term goal)
101126
- [ ] iOS (Long term goal)
102127
- [ ] Android (Long term goal)
103-
- [x] Rendering API support
128+
- ### Rendering API support
104129
- [x] OpenGL
105130
- [x] Vulkan
106131
- [x] Metal
107132
- [x] DirectX11
108133
- [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.
122155

123156
## How to contribute <a name="contribute"></a>
124157
Fork the current repository and then make the changes that you'd like to

0 commit comments

Comments
 (0)