All Projects β†’ alaingalvan β†’ metal-seed

alaingalvan / metal-seed

Licence: Unlicense license
πŸ€–πŸŒ± An Apple Metal starter repo that you could use to get the ball rolling.

Programming Languages

Objective-C++
1391 projects
CMake
9771 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to metal-seed

Octopuskit
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
Stars: ✭ 246 (+668.75%)
Mutual labels:  metal
sapper-authentication-demo
A demonstration of Auth with Sapper + JWT + Server Side Rendering + RBAC
Stars: ✭ 102 (+218.75%)
Mutual labels:  seed
svelte-box
A truffle box for svelte
Stars: ✭ 60 (+87.5%)
Mutual labels:  seed
Cocos2d X
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
Stars: ✭ 15,713 (+49003.13%)
Mutual labels:  metal
rails-multi-environment-seeding
Example of using seeds in rails app
Stars: ✭ 13 (-59.37%)
Mutual labels:  seed
Explosion
πŸ’₯ A modern cross-platform game engine (WIP)
Stars: ✭ 102 (+218.75%)
Mutual labels:  metal
Amazing Arkit
ARKit相关衄源汇总 羀:326705018
Stars: ✭ 239 (+646.88%)
Mutual labels:  metal
lucasgdb
Template para o perfil do Github. "Github Profile Intro" ❀️
Stars: ✭ 52 (+62.5%)
Mutual labels:  intro
javascript-seed-project
Seed project for JavaScript based apps. Just clone and code.
Stars: ✭ 17 (-46.87%)
Mutual labels:  seed
sequel-seed
A Sequel extension to make seeds/fixtures manageable like migrations
Stars: ✭ 25 (-21.87%)
Mutual labels:  seed
openui5-tour
OpenUI5 Tour enables an user-friendly way to showcase products and features in your website.
Stars: ✭ 21 (-34.37%)
Mutual labels:  intro
jsrand
A seeded pseudo-random number generator for JavaScript.
Stars: ✭ 19 (-40.62%)
Mutual labels:  seed
VSpot
A nice focus view intro for your app. Focus a specific view on first time launch
Stars: ✭ 27 (-15.62%)
Mutual labels:  intro
Provision
Digital Rebar Provision is a simple and powerful Golang executable that provides a complete API-driven DHCP/PXE/TFTP provisioning system.
Stars: ✭ 252 (+687.5%)
Mutual labels:  metal
Mg
C# Vulkan interface/polyfill for WINDOWS and MacOS
Stars: ✭ 19 (-40.62%)
Mutual labels:  metal
Pmfx Shader
Cross platform shader system for HLSL, GLSL, Metal and SPIR-V.
Stars: ✭ 245 (+665.63%)
Mutual labels:  metal
ui5-webcomponents-react-seed
Seed of UI5 Web Components for React
Stars: ✭ 12 (-62.5%)
Mutual labels:  seed
wgpu-py
Next generation GPU API for Python
Stars: ✭ 210 (+556.25%)
Mutual labels:  metal
mini-lab
a small, virtual setup to locally run the metal-stack
Stars: ✭ 50 (+56.25%)
Mutual labels:  metal
MetalCity
MetalCity - a procedural night city landscape generator
Stars: ✭ 29 (-9.37%)
Mutual labels:  metal

Cover Art

Metal Seed

cmake-img License

A Metal repo you can use to get started with your own renderer.

Setup

First install:

Then type the following in your terminal.

# πŸ‘ Clone the repo
git clone https://github.com/alaingalvan/metal-seed --recurse-submodules

# πŸ’Ώ go inside the folder
cd metal-seed

# πŸ‘― If you forget to `recurse-submodules` you can always run:
git submodule update --init

# πŸ‘· Make a build folder
mkdir build
cd build

# 🍎 To build your XCode project on Mac OS
cmake .. -G Xcode

# πŸ“± To build your XCode project targeting iOS / iPad OS
cmake .. -G Xcode -DCMAKE_SYSTEM_NAME=iOS

# πŸ”¨ Build project
cmake --build .

Refer to this blog post on designing C++ libraries and apps for more details on CMake, Git Submodules, etc.

Project Layout

As your project becomes more complex, you'll want to separate files and organize your application to something more akin to a game or renderer, check out this post on game engine architecture and this one on real time renderer architecture for more details.

β”œβ”€ πŸ“‚ external/                    # πŸ‘Ά Dependencies
β”‚  β”œβ”€ πŸ“ crosswindow/                    # πŸ–ΌοΈ OS Windows
β”‚  β”œβ”€ πŸ“ crosswindow-graphics/           # 🎨 Metal Layer Creation
β”‚  └─ πŸ“ glm/                            # βž• Linear Algebra
β”œβ”€ πŸ“‚ src/                         # 🌟 Source Files
β”‚  β”œβ”€ πŸ“„ Utils.h                         # βš™οΈ Utilities (Load Files, Check Shaders, etc.)
β”‚  β”œβ”€ πŸ“„ Renderer.h                      # πŸ”Ί Triangle Draw Code
β”‚  β”œβ”€ πŸ“„ Renderer.mm                     # -
β”‚  └─ πŸ“„ Main.mm                         # 🏁 Application Main
β”œβ”€ πŸ“„ .gitignore                   # πŸ‘οΈ Ignore certain files in git repo
β”œβ”€ πŸ“„ CMakeLists.txt               # πŸ”¨ Build Script
β”œβ”€ πŸ“„ license.md                   # βš–οΈ Your License (Unlicense)
└─ πŸ“ƒreadme.md                     # πŸ“– Read Me!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].