Add basic box brush generator
This commit is contained in:
parent
73495fcde6
commit
8488a75bd0
|
@ -1,11 +1,11 @@
|
|||
use csg::{
|
||||
brush::{self, Brush, BrushPlane, MaterialId, TextureProjection},
|
||||
glam::{self},
|
||||
brush::{Brush, BrushPlane, MaterialId, TextureProjection},
|
||||
glam::{self, Vec3},
|
||||
plane::Plane,
|
||||
};
|
||||
|
||||
fn main() {
|
||||
let points = vec![
|
||||
fn generate_box_brush(position: Vec3, extent: Vec3) -> Brush {
|
||||
let normals = vec![
|
||||
glam::vec3(1.0, 0.0, 0.0),
|
||||
glam::vec3(-1.0, 0.0, 0.0),
|
||||
glam::vec3(0.0, 1.0, 0.0),
|
||||
|
@ -15,9 +15,11 @@ fn main() {
|
|||
];
|
||||
|
||||
let mut brush_planes = vec![];
|
||||
for point in &points {
|
||||
for normal in &normals {
|
||||
let point = position + *normal * extent;
|
||||
|
||||
brush_planes.push(BrushPlane {
|
||||
plane: Plane::from_point_normal(*point, *point),
|
||||
plane: Plane::from_point_normal(point, *normal),
|
||||
material: MaterialId("Epic".to_string()),
|
||||
tex_projection: TextureProjection::default(),
|
||||
});
|
||||
|
@ -25,9 +27,13 @@ fn main() {
|
|||
println!("Plane: {:?}", brush_planes.last().unwrap().plane);
|
||||
}
|
||||
|
||||
let brush = Brush {
|
||||
Brush {
|
||||
planes: brush_planes,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let brush = generate_box_brush(Vec3::new(1.0, 0.0, 0.0), Vec3::new(1.0, 2.0, 1.0));
|
||||
let vs = brush.get_vertices();
|
||||
|
||||
println!("Vertices: {vs:?}");
|
||||
|
|
Loading…
Reference in New Issue