Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yukiny0811/swifty-creatives

Creative coding framework for Swift. Built on Apple's Metal. Inspired by Processing. Supports visionOS.
https://github.com/yukiny0811/swifty-creatives

3d 3d-graphics-engine apple-metal creative-coding generative-art ios macos media-art metal metalapi processing shaders swift swift-package-manager swiftui visionos

Last synced: 3 days ago
JSON representation

Creative coding framework for Swift. Built on Apple's Metal. Inspired by Processing. Supports visionOS.

Awesome Lists containing this project

README

        

# SwiftyCreatives

[![Release](https://img.shields.io/github/v/release/yukiny0811/swifty-creatives)](https://github.com/yukiny0811/swifty-creatives/releases/latest)
[![Swift Compatibility](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fyukiny0811%2Fswifty-creatives%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/yukiny0811/swifty-creatives)
[![Platform Compatibility](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fyukiny0811%2Fswifty-creatives%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/yukiny0811/swifty-creatives)
[![License](https://img.shields.io/github/license/yukiny0811/swifty-creatives)](https://github.com/yukiny0811/swifty-creatives/blob/main/LICENSE)

__Creative coding framework for Swift.__
Using Metal directly for rendering. Inspired by Processing. Supports visionOS.

![outputFinalfinal](https://github.com/yukiny0811/swifty-creatives/assets/28947703/52d2d3f5-f69b-48f0-b77f-5db910615010)

## Requirements

- Swift5.9

## Supported Platforms

- macOS v14
- iOS v17
- visionOS v1
- tvOS v17

## Key Features

### Processing-like Syntax

You can easily create your graphics, using Swift Programming Language with the intuitive essence of Processing.
I like how ```push()``` and ```pop()``` became super simple using Swift's trailing closure.

```.swift
import SwiftyCreatives

final class MySketch: Sketch {
override func draw(encoder: SCEncoder) {
let count = 20
for i in 0..