GithubHelp home page GithubHelp logo

tchigher / sphere_dance Goto Github PK

View Code? Open in Web Editor NEW

This project forked from janiorca/sphere_dance

0.0 0.0 0.0 694 KB

Using rust to create a real 4K intro

License: MIT License

Rust 77.75% GLSL 14.96% C 7.29%

sphere_dance's Introduction

ochre

This is the full source code for ochre 4K intro. All code is pure Rust and glsl. Please do not use this code to learn how to write good Rust code but you can use it to learn how to write code that compiles very small.

Intro image

A more detailed explanation about the different size optimizations can be found here

For easier development

During development use following to enable loading shader from shader.glsl and have movable camera and logs

 xargo run --target i686-pc-windows-msvc --features logger

For the release version

First compile release version

 xargo rustc --release --target i686-pc-windows-msvc -- --emit=obj

Then use crinkler to compress ( the precise path to the windows sdk will depend on your version )

 ..\..\..\..\..\tools\crinkler /OUT:mini.exe /SUBSYSTEM:WINDOWS miniwin.o /ENTRY:mainCRTStartup "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86" gdi32.lib user32.lib opengl32.lib kernel32.lib winmm.lib

To analyze the compiled assembly code run

 xargo rustc --release --features fullscreen --target i686-pc-windows-msvc -- --emit=asm

The glsl shader is compressed by the minifier using the command line

.\tools\shader_minifier.exe .\shader.glsl --preserve-externals --format none

This will create the the file shader_code.h from where you need to manually copy and paste the minified code into shader.rs

sphere_dance's People

Contributors

janiorca avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.