2019-01-13 20:53:55 +00:00
|
|
|
pub mod segment;
|
2019-01-23 20:01:58 +00:00
|
|
|
pub mod terrain;
|
2019-04-29 20:37:19 +00:00
|
|
|
mod vol;
|
2019-01-13 20:53:55 +00:00
|
|
|
|
2019-04-28 17:12:45 +00:00
|
|
|
use crate::render::{self, Mesh};
|
2019-01-13 20:53:55 +00:00
|
|
|
|
2020-04-24 14:20:16 +00:00
|
|
|
pub trait Meshable<'a, P: render::Pipeline, T: render::Pipeline> {
|
2019-01-13 20:53:55 +00:00
|
|
|
type Pipeline: render::Pipeline;
|
2019-08-14 21:28:37 +00:00
|
|
|
type TranslucentPipeline: render::Pipeline;
|
2019-01-23 20:01:58 +00:00
|
|
|
type Supplement;
|
2019-01-13 20:53:55 +00:00
|
|
|
|
2019-08-14 21:28:37 +00:00
|
|
|
// Generate meshes - one opaque, one translucent
|
|
|
|
fn generate_mesh(
|
2020-04-24 14:20:16 +00:00
|
|
|
&'a self,
|
2019-08-14 21:28:37 +00:00
|
|
|
supp: Self::Supplement,
|
|
|
|
) -> (Mesh<Self::Pipeline>, Mesh<Self::TranslucentPipeline>);
|
2019-01-13 20:53:55 +00:00
|
|
|
}
|