+1
-1
@@ -5,7 +5,7 @@ layout(push_constant) uniform PushConstantData {
|
|||||||
mat4 world;
|
mat4 world;
|
||||||
vec3 dimensions;
|
vec3 dimensions;
|
||||||
vec3 lowest_corner;
|
vec3 lowest_corner;
|
||||||
uint enable[16*16/2];
|
uint enable[16*16*2];
|
||||||
} pc;
|
} pc;
|
||||||
|
|
||||||
layout(set = 0, binding = 0) uniform Lights {
|
layout(set = 0, binding = 0) uniform Lights {
|
||||||
|
|||||||
+34
-18
@@ -319,46 +319,62 @@ fn interval_check(csg: &CSG, push_constants: &mut PushConstantData) {
|
|||||||
push_constants.dimensions = (highest_corner - lowest_corner).to_array().into();
|
push_constants.dimensions = (highest_corner - lowest_corner).to_array().into();
|
||||||
push_constants.lowest_corner = lowest_corner.into();
|
push_constants.lowest_corner = lowest_corner.into();
|
||||||
|
|
||||||
push_constants.enable = [0; 16 * 16 / 2];
|
push_constants.enable = [0; 16 * 16 * 2];
|
||||||
|
|
||||||
for x in 0..16 {
|
for x in 0..16 {
|
||||||
for y in 0..16 {
|
for y in 0..16 {
|
||||||
for z in 0..2 {
|
for z in 0..2 {
|
||||||
let interval_input_z: Interval = Interval::new_unchecked(
|
let interval_input_z: Interval = Interval::new_unchecked(
|
||||||
interpreter::Value::from_array([
|
interpreter::Value::from_array([
|
||||||
(((z as f32) / 2.0) + (0.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (0.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (1.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (1.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (2.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (2.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (3.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (3.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (4.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (4.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (5.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (5.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (6.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (6.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (7.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (7.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
]),
|
]),
|
||||||
interpreter::Value::from_array([
|
interpreter::Value::from_array([
|
||||||
(((z as f32) / 2.0) + (1.0 / 16.0)) * push_constants.dimensions[2]
|
((((z as f32) / 2.0)
|
||||||
|
+ (1.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (2.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (2.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (3.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (3.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (4.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (4.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (5.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (5.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (6.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (6.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (7.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (7.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
(((z as f32) / 2.0) + (8.0 / 16.0)) * push_constants.dimensions[2]
|
(((z as f32) / 2.0)
|
||||||
|
+ (8.0 / 16.0)) * push_constants.dimensions[2]
|
||||||
+ push_constants.lowest_corner[2],
|
+ push_constants.lowest_corner[2],
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
@@ -1127,7 +1143,7 @@ impl App {
|
|||||||
world: Mat4::IDENTITY.to_cols_array_2d(),
|
world: Mat4::IDENTITY.to_cols_array_2d(),
|
||||||
dimensions: Vec3::ONE.to_array().into(),
|
dimensions: Vec3::ONE.to_array().into(),
|
||||||
lowest_corner: Vec3::ZERO.into(),
|
lowest_corner: Vec3::ZERO.into(),
|
||||||
enable: [0; 16 * 16 / 2],
|
enable: [0; 16],
|
||||||
};
|
};
|
||||||
|
|
||||||
let uniform_data = implicit_vs::Camera {
|
let uniform_data = implicit_vs::Camera {
|
||||||
|
|||||||
Reference in New Issue
Block a user