#![warn(missing_docs)] //! This crate contains all drawing logic and NO game logic. //! It converts game state to a nice picture. //! //! [`GPUState`] is the main struct this crate provides, //! and the only one external code should interact with. //! (Excluding data structs, like [`ObjectSprite`]) mod consts; mod globaldata; mod gpustate; mod pipeline; mod sprite; mod texturearray; mod vertexbuffer; // TODO: remove mod consts_main; use cgmath::{Point3, Vector2}; use galactica_content as content; pub use gpustate::GPUState; pub use sprite::{AnchoredUiPosition, ObjectSprite, ObjectSubSprite, UiSprite}; /// TODO: this shouldn't be here pub struct StarfieldStar { /// Star coordinates, in world space. /// These are relative to the center of a starfield tile. pub pos: Point3, /// Height in game units. /// Will be scaled for zoom, but not for distance. pub size: f32, /// Color/brightness variation. Random between 0 and 1. /// Used in starfield shader. pub tint: Vector2, }