mirror of
https://github.com/griffi-gh/kubi.git
synced 2024-11-22 14:58:44 -06:00
selection kinda works
This commit is contained in:
parent
a4f4a765ae
commit
0c25bfa5ae
|
@ -1,5 +1,14 @@
|
||||||
use shipyard::{View, IntoIter, NonSendSync, UniqueViewMut, UniqueView};
|
use shipyard::{View, IntoIter, NonSendSync, UniqueViewMut, UniqueView};
|
||||||
use glium::{Surface, implement_vertex, IndexBuffer, index::PrimitiveType, VertexBuffer, uniform, DrawParameters, Blend, BackfaceCullingMode};
|
use glium::{
|
||||||
|
Surface,
|
||||||
|
implement_vertex,
|
||||||
|
IndexBuffer,
|
||||||
|
index::PrimitiveType,
|
||||||
|
VertexBuffer, uniform,
|
||||||
|
DrawParameters,
|
||||||
|
BackfaceCullingMode,
|
||||||
|
PolygonMode, Blend, BlendingFunction, LinearBlendingFactor, Depth, DepthTest
|
||||||
|
};
|
||||||
use crate::{
|
use crate::{
|
||||||
world::raycast::LookingAtBlock,
|
world::raycast::LookingAtBlock,
|
||||||
camera::Camera, prefabs::SelBoxShaderPrefab
|
camera::Camera, prefabs::SelBoxShaderPrefab
|
||||||
|
@ -62,14 +71,29 @@ pub fn render_selection_box(
|
||||||
&index,
|
&index,
|
||||||
&program.0,
|
&program.0,
|
||||||
&uniform! {
|
&uniform! {
|
||||||
color: [0., 0., 0., 0.5_f32],
|
color: [0., 0., 0., 1.],
|
||||||
u_position: lookat.block_position.as_vec3().to_array(),
|
u_position: lookat.block_position.as_vec3().to_array(),
|
||||||
perspective: camera.perspective_matrix.to_cols_array_2d(),
|
perspective: camera.perspective_matrix.to_cols_array_2d(),
|
||||||
view: camera.view_matrix.to_cols_array_2d(),
|
view: camera.view_matrix.to_cols_array_2d(),
|
||||||
},
|
},
|
||||||
&DrawParameters {
|
&DrawParameters {
|
||||||
blend: Blend::alpha_blending(),
|
|
||||||
backface_culling: BackfaceCullingMode::CullClockwise,
|
backface_culling: BackfaceCullingMode::CullClockwise,
|
||||||
|
blend: Blend {
|
||||||
|
//for some reason only constant alpha works???
|
||||||
|
color: BlendingFunction::Addition {
|
||||||
|
source: LinearBlendingFactor::ConstantAlpha,
|
||||||
|
destination: LinearBlendingFactor::OneMinusConstantAlpha,
|
||||||
|
},
|
||||||
|
alpha: BlendingFunction::Addition {
|
||||||
|
source: LinearBlendingFactor::ConstantAlpha,
|
||||||
|
destination: LinearBlendingFactor::OneMinusConstantAlpha
|
||||||
|
},
|
||||||
|
constant_value: (0.0, 0.0, 0.0, 0.5)
|
||||||
|
},
|
||||||
|
depth: Depth {
|
||||||
|
test: DepthTest::IfLessOrEqual, //this may be unreliable!
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
).unwrap();
|
).unwrap();
|
||||||
|
|
Loading…
Reference in a new issue