Code Monkey home page Code Monkey logo

cala's Issues

Replace net module APIs

The main goal of this library is to be portable, and when running in a web browser Rust only has access to HTTP through Javascript, so implement sending/receiving simple POST (update), GET (read), PUT (create), DELETE (delete) (unfortunately can't receive these messages on a web page, so probably support SSE as well). This should not be a full blown web-framework.

C API, Python bindings

This would be nice to have at some time in the future, when more functionality exists.

Dependabot couldn't fetch all your path-based dependencies

Dependabot couldn't fetch one or more of your project's path-based Rust dependencies. The affected dependencies were ../human/Cargo.toml, ../window/Cargo.toml and ../rvg/Cargo.toml.

To use path-based dependencies with Dependabot the paths must be relative and resolve to a directory in this project's source code.

View the update logs.

Rendering Optimization

I haven't focused much on optimization yet. And, it is quite important. A simple-ish game I'm working on goes down to as low as 9FPS under Vulkan. I ran perf to find the problems. These functions seem to be taking up the most time:

  • Vector::length
  • awi::render::vulkan::renderer::draw_shape
  • core::slice::sort_unstable

This seems to be related to a few algorithms I've come up with that need to get optimized.

  1. Depth Sort - Opaque objects sorted front to back, alpha back to front. Should stop using Vector::length and rather the z value multiplied by rotation.
  2. Batch Rendering of Shapes - Needs to be optimized to not re-bind the vertex buffer when the shape does not change
  3. Matrix Transforms - Camera needs to be handled specially so not all shapes are updated one by one.

By fixing these algorithms I hope to run at least 60FPS on my laptop.

Camera support?

I'm trying to find a cross-platform crate to read fullhd webcam frames at 30fps.
On windows I'm using a custom version of escapi (hacked to support MJPEG decoding with the mozjpeg-sys crate), but I also want to support linux..

Any idea when this crate will support camera capture? :)

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.