engine/render: separate into rust_library
parent
081db95b45
commit
fab7c59038
26
engine/BUILD
26
engine/BUILD
|
@ -1,5 +1,4 @@
|
|||
load("@rules_rust//rust:rust.bzl", "rust_binary", "rust_library")
|
||||
load("@rules_pkg//:pkg.bzl", "pkg_tar")
|
||||
load("@rules_rust//rust:rust.bzl", "rust_library")
|
||||
|
||||
rust_library(
|
||||
name = "engine",
|
||||
|
@ -16,39 +15,18 @@ rust_library(
|
|||
"lib.rs",
|
||||
|
||||
"globals.rs",
|
||||
"input.rs",
|
||||
"scripting.rs",
|
||||
|
||||
"render/mod.rs",
|
||||
"render/light.rs",
|
||||
"render/material.rs",
|
||||
"render/mesh.rs",
|
||||
"render/renderable.rs",
|
||||
"render/resource.rs",
|
||||
|
||||
"render/vulkan/mod.rs",
|
||||
"render/vulkan/data.rs",
|
||||
"render/vulkan/material.rs",
|
||||
"render/vulkan/pipeline.rs",
|
||||
"render/vulkan/pipeline_forward.rs",
|
||||
"render/vulkan/qfi.rs",
|
||||
"render/vulkan/shaders.rs",
|
||||
"render/vulkan/surface_binding.rs",
|
||||
"render/vulkan/swapchain_binding.rs",
|
||||
"render/vulkan/worker.rs",
|
||||
],
|
||||
deps = [
|
||||
"//engine/util",
|
||||
"//engine/physics",
|
||||
"//engine/render",
|
||||
"//lib/ecs",
|
||||
"//third_party/cargo:cgmath",
|
||||
"//third_party/cargo:image",
|
||||
"//third_party/cargo:mlua",
|
||||
"//third_party/cargo:winit",
|
||||
"//third_party/cargo:log",
|
||||
"//third_party/cargo:env_logger",
|
||||
"//third_party/cargo:vulkano",
|
||||
"//third_party/cargo:vulkano_win",
|
||||
],
|
||||
proc_macro_deps = [
|
||||
"//lib/ecs_macros",
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
load("@rules_rust//rust:rust.bzl", "rust_library")
|
||||
|
||||
rust_library(
|
||||
name = "input",
|
||||
crate_name = "engine_input",
|
||||
edition = "2018",
|
||||
rustc_flags = [
|
||||
"-C", "opt-level=3",
|
||||
"-C", "overflow-checks=n",
|
||||
"-C", "force-frame-pointers=y",
|
||||
"-C", "lto=off",
|
||||
"-Zpolonius",
|
||||
"-Zborrowck=mir",
|
||||
],
|
||||
srcs = [
|
||||
"lib.rs",
|
||||
],
|
||||
deps = [
|
||||
"//lib/ecs",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
|
@ -15,6 +15,4 @@
|
|||
// Abrasion. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
pub mod globals;
|
||||
pub mod input;
|
||||
pub mod render;
|
||||
pub mod scripting;
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
load("@rules_rust//rust:rust.bzl", "rust_library")
|
||||
|
||||
rust_library(
|
||||
name = "render",
|
||||
crate_name = "engine_render",
|
||||
edition = "2018",
|
||||
rustc_flags = [
|
||||
"-C", "opt-level=3",
|
||||
"-C", "overflow-checks=n",
|
||||
"-C", "force-frame-pointers=y",
|
||||
"-C", "lto=off",
|
||||
"-Zpolonius",
|
||||
"-Zborrowck=mir",
|
||||
],
|
||||
srcs = [
|
||||
"lib.rs",
|
||||
"light.rs",
|
||||
"material.rs",
|
||||
"mesh.rs",
|
||||
"renderable.rs",
|
||||
"resource.rs",
|
||||
|
||||
"vulkan/data.rs",
|
||||
"vulkan/material.rs",
|
||||
"vulkan/mod.rs",
|
||||
"vulkan/pipeline.rs",
|
||||
"vulkan/pipeline_forward.rs",
|
||||
"vulkan/qfi.rs",
|
||||
"vulkan/shaders.rs",
|
||||
"vulkan/surface_binding.rs",
|
||||
"vulkan/swapchain_binding.rs",
|
||||
"vulkan/worker.rs",
|
||||
],
|
||||
deps = [
|
||||
"//engine/input",
|
||||
"//engine/util",
|
||||
"//engine/physics",
|
||||
"//lib/ecs",
|
||||
"//third_party/cargo:cgmath",
|
||||
"//third_party/cargo:image",
|
||||
"//third_party/cargo:log",
|
||||
"//third_party/cargo:mlua",
|
||||
"//third_party/cargo:vulkano",
|
||||
"//third_party/cargo:vulkano_win",
|
||||
"//third_party/cargo:winit",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
|
@ -49,7 +49,7 @@ pub use mesh::Mesh;
|
|||
pub use renderable::{Transform, Renderable};
|
||||
pub use resource::{Resource, ResourceID};
|
||||
|
||||
use crate::input;
|
||||
use engine_input as input;
|
||||
|
||||
const WIDTH: u32 = 800;
|
||||
const HEIGHT: u32 = 600;
|
|
@ -20,7 +20,7 @@ use cgmath as cgm;
|
|||
|
||||
use engine_physics::color;
|
||||
|
||||
use crate::render::vulkan::data;
|
||||
use crate::vulkan::data;
|
||||
|
||||
/// An Omni point light, with position in 3d space, and 'color' defined in lumens per CIE XYZ
|
||||
/// color channel.
|
||||
|
|
|
@ -26,8 +26,8 @@ use vulkano::image as vm;
|
|||
use engine_util::file;
|
||||
use engine_physics::color;
|
||||
|
||||
use crate::render::vulkan::data;
|
||||
use crate::render::vulkan::material::ChannelLayoutVulkan;
|
||||
use crate::vulkan::data;
|
||||
use crate::vulkan::material::ChannelLayoutVulkan;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Texture<T: ChannelLayoutVulkan> {
|
||||
|
|
|
@ -22,7 +22,7 @@ use vulkano::device as vd;
|
|||
use vulkano::buffer as vb;
|
||||
use vulkano::sync::GpuFuture;
|
||||
|
||||
use crate::render::vulkan::data;
|
||||
use crate::vulkan::data;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Mesh {
|
||||
|
|
|
@ -21,8 +21,8 @@ use std::cell::Ref;
|
|||
use cgmath as cgm;
|
||||
|
||||
use ecs::{Component, ComponentLuaBindings};
|
||||
use crate::render::{Light, Mesh, Material};
|
||||
use crate::render::resource::{ResourceID};
|
||||
use crate::{Light, Mesh, Material};
|
||||
use crate::resource::{ResourceID};
|
||||
|
||||
use mlua::ToLua;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use std::collections::BTreeMap;
|
||||
use std::cmp::Ordering;
|
||||
|
||||
use crate::render::{Mesh, Material, Light};
|
||||
use crate::{Mesh, Material, Light};
|
||||
|
||||
type Map<T> = BTreeMap<ResourceID<T>, T>;
|
||||
|
||||
|
|
|
@ -40,8 +40,8 @@ mod shaders;
|
|||
mod swapchain_binding;
|
||||
mod worker;
|
||||
|
||||
use crate::render::{Light, Material, Mesh, ResourceID};
|
||||
use crate::render::resource;
|
||||
use crate::{Light, Material, Mesh, ResourceID};
|
||||
use crate::resource;
|
||||
|
||||
const VERSION: vi::Version = vi::Version { major: 1, minor: 0, patch: 0};
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ use vulkano::pipeline as vp;
|
|||
use vulkano::descriptor::descriptor_set as vdd;
|
||||
use vulkano::memory as vm;
|
||||
|
||||
use crate::render::vulkan::data;
|
||||
use crate::vulkan::data;
|
||||
|
||||
pub type VulkanoPipeline = dyn vp::GraphicsPipelineAbstract + Send + Sync;
|
||||
pub type VulkanoDescriptorSet = dyn vdd::DescriptorSet + Send + Sync;
|
||||
|
|
|
@ -30,9 +30,9 @@ use vulkano::pipeline::shader as vps;
|
|||
use vulkano::pipeline::vertex as vpv;
|
||||
use vulkano::sampler as vs;
|
||||
|
||||
use crate::render::vulkan::data;
|
||||
use crate::render::vulkan::shaders;
|
||||
use crate::render::vulkan::pipeline;
|
||||
use crate::vulkan::data;
|
||||
use crate::vulkan::shaders;
|
||||
use crate::vulkan::pipeline;
|
||||
|
||||
pub struct Forward {
|
||||
pipeline: Arc<pipeline::VulkanoPipeline>,
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::collections::BTreeMap;
|
|||
use std::sync::{Arc, Mutex, RwLock, atomic};
|
||||
use std::io::Read;
|
||||
|
||||
use crate::render;
|
||||
use engine_render as render;
|
||||
use engine_util as util;
|
||||
use crate::globals::Time;
|
||||
|
||||
|
|
|
@ -20,8 +20,10 @@ rust_binary(
|
|||
],
|
||||
deps = [
|
||||
"//engine",
|
||||
"//engine/input",
|
||||
"//engine/util",
|
||||
"//engine/physics",
|
||||
"//engine/render",
|
||||
"//lib/ecs",
|
||||
"//third_party/cargo:cgmath",
|
||||
"//third_party/cargo:env_logger",
|
||||
|
|
|
@ -2,9 +2,11 @@ use std::sync::Arc;
|
|||
use cgmath as cgm;
|
||||
|
||||
use ecs_macros::Access;
|
||||
use engine::{globals, input, render, scripting};
|
||||
use engine::render::material;
|
||||
use engine::render::vulkan::data;
|
||||
use engine_input as input;
|
||||
use engine_render as render;
|
||||
use engine_render::material;
|
||||
use engine_render::vulkan::data;
|
||||
use engine::{globals, scripting};
|
||||
|
||||
use engine_physics as physics;
|
||||
use engine_util as util;
|
||||
|
|
Loading…
Reference in New Issue