🚨 fix cargo check lints
							parent
							
								
									e96474b73a
								
							
						
					
					
						commit
						5509aece8f
					
				|  | @ -4,7 +4,7 @@ use std::{ | |||
| 
 | ||||
| use glam::{ | ||||
| 	Quat, | ||||
| 	Vec4, | ||||
| 	// Vec4,
 | ||||
| }; | ||||
| 
 | ||||
| use opengl_rust::{ | ||||
|  | @ -15,18 +15,13 @@ use opengl_rust::{ | |||
| 		Pass, | ||||
| 	}, | ||||
| 	renderable_model::{ | ||||
| 		attributes, | ||||
| 		RenderableModel, | ||||
| 		attributes, | ||||
| 	}, | ||||
| 	shader_closure::ShaderLookup, | ||||
| 	texture::Texture, | ||||
| }; | ||||
| 
 | ||||
| use crate::{ | ||||
| 	GameState, | ||||
| 	TriangleStream, | ||||
| }; | ||||
| 
 | ||||
| mod uniforms { | ||||
| use iota::iota; | ||||
| iota! { | ||||
|  | @ -47,12 +42,12 @@ pub struct Graphics { | |||
| 	shaders: Vec <ShaderClosure>, | ||||
| 	shader_lookup: HashMap <u32, usize>, | ||||
| 	
 | ||||
| 	mesh_cube: RenderableModel, | ||||
| 	// mesh_cube: RenderableModel,
 | ||||
| 	mesh_protag_kun: RenderableModel, | ||||
| 	mesh_sky: RenderableModel, | ||||
| 	mesh_sphere: RenderableModel, | ||||
| 	
 | ||||
| 	text_stream: TriangleStream, | ||||
| 	// text_stream: TriangleStream,
 | ||||
| 	
 | ||||
| 	texture_crate: Texture, | ||||
| 	texture_earth: Texture, | ||||
|  | @ -100,7 +95,7 @@ impl Graphics { | |||
| 		}) | ||||
| 		.collect (); | ||||
| 		
 | ||||
| 		let mesh_cube = renderable_from_iqm_file ("cube.iqm"); | ||||
| 		// let mesh_cube = renderable_from_iqm_file ("cube.iqm");
 | ||||
| 		let mesh_protag_kun = renderable_from_iqm_file ("protag-kun.iqm"); | ||||
| 		let mesh_sky = renderable_from_iqm_file ("sky-sphere.iqm"); | ||||
| 		let mesh_sphere = renderable_from_iqm_file ("sphere.iqm"); | ||||
|  | @ -125,7 +120,7 @@ impl Graphics { | |||
| 				.depth_mask (1) | ||||
| 			.clone (), | ||||
| 		]; | ||||
| 		
 | ||||
| 		/* | ||||
| 		let text_stream = TriangleStream { | ||||
| 			verts: gpu_buffers::VertexBuffer::streaming (4 * 5 * 6 * 1024), | ||||
| 			indices: { | ||||
|  | @ -140,7 +135,7 @@ impl Graphics { | |||
| 				gpu_buffers::IndexBuffer::from_slice_u32 (&v) | ||||
| 			} | ||||
| 		}; | ||||
| 		
 | ||||
| 		*/ | ||||
| 		let shader_lookup = HashMap::from_iter (shaders.iter ().enumerate () | ||||
| 		.map (|(i, s)| { | ||||
| 			(s.get_id (), i) | ||||
|  | @ -154,14 +149,14 @@ impl Graphics { | |||
| 		}); | ||||
| 		
 | ||||
| 		Graphics { | ||||
| 			mesh_cube, | ||||
| 			// mesh_cube,
 | ||||
| 			mesh_protag_kun, | ||||
| 			mesh_sky, | ||||
| 			mesh_sphere, | ||||
| 			passes, | ||||
| 			shader_lookup, | ||||
| 			shaders, | ||||
| 			text_stream, | ||||
| 			// text_stream,
 | ||||
| 			texture_crate: Texture::from_file ("crate.png"), | ||||
| 			texture_earth: Texture::from_file ("earth.png"), | ||||
| 			texture_sky: Texture::from_file ("sky.png"), | ||||
|  | @ -178,9 +173,9 @@ impl Graphics { | |||
| 		level: &crate::LoadedLevel, | ||||
| 		camera: &crate::Camera, | ||||
| 	) { | ||||
| 		use serde::Deserialize; | ||||
| 		// use serde::Deserialize;
 | ||||
| 		use uniforms as u; | ||||
| 		
 | ||||
| 		/* | ||||
| 		#[derive (Default, Deserialize)] | ||||
| 		struct Config { | ||||
| 			camera: CameraCfg, | ||||
|  | @ -193,7 +188,7 @@ impl Graphics { | |||
| 			#[serde(default)] | ||||
| 			translate_mix: f32, | ||||
| 		} | ||||
| 		/* | ||||
| 		
 | ||||
| 		let cfg: Option <Config> = std::fs::read_to_string ("config.json").ok () | ||||
| 		.map (|s| serde_json::from_str (s.as_str ()).ok ()) | ||||
| 		.flatten (); | ||||
|  | @ -227,8 +222,6 @@ impl Graphics { | |||
| 		
 | ||||
| 		let view_mat = proj_mat * view_mat; | ||||
| 		
 | ||||
| 		let world_model_mat = Mat4::IDENTITY; | ||||
| 		
 | ||||
| 		self.passes [0].with (gl_state, || { | ||||
| 			glezz::clear_color (109f32 / 255.0, 194f32 / 255.0, 202f32 / 255.0, 1.0f32); | ||||
| 			glezz::clear (gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT | gl::STENCIL_BUFFER_BIT); | ||||
|  |  | |||
|  | @ -14,7 +14,6 @@ impl LoadedLevel { | |||
| 	pub fn from_path (path: &str) -> Result <Self> { | ||||
| 		use gltf::{ | ||||
| 			Semantic, | ||||
| 			scene::Transform, | ||||
| 		}; | ||||
| 		
 | ||||
| 		let (level, buffers, _) = gltf::import (path)?; | ||||
|  | @ -35,11 +34,11 @@ impl LoadedLevel { | |||
| 				let (translation, _, _) = node.transform ().decomposed (); | ||||
| 				player_spawn = Some (Vec3::from (translation)); | ||||
| 			} | ||||
| 			else if let Some (camera) = node.camera () { | ||||
| 			else if let Some (_camera) = node.camera () { | ||||
| 				
 | ||||
| 			} | ||||
| 			else if let Some (mesh) = node.mesh () { | ||||
| 				for (i, prim) in mesh.primitives ().enumerate () { | ||||
| 				for (_i, prim) in mesh.primitives ().enumerate () { | ||||
| 					let positions = match prim.get (&Semantic::Positions) { | ||||
| 						None => continue, | ||||
| 						Some (x) => x, | ||||
|  | @ -52,15 +51,15 @@ impl LoadedLevel { | |||
| 						None => continue, | ||||
| 						Some (x) => x, | ||||
| 					}; | ||||
| 					let pos_view = match positions.view () { | ||||
| 					let _pos_view = match positions.view () { | ||||
| 						None => continue, | ||||
| 						Some (x) => x, | ||||
| 					}; | ||||
| 					let norm_view = match normals.view () { | ||||
| 					let _norm_view = match normals.view () { | ||||
| 						None => continue, | ||||
| 						Some (x) => x, | ||||
| 					}; | ||||
| 					let indices_view = match indices.view () { | ||||
| 					let _indices_view = match indices.view () { | ||||
| 						None => continue, | ||||
| 						Some (x) => x, | ||||
| 					}; | ||||
|  |  | |||
|  | @ -1,21 +1,12 @@ | |||
| use std::{ | ||||
| 	collections::HashMap, | ||||
| 	time::Instant, | ||||
| }; | ||||
| 
 | ||||
| use anyhow::Result; | ||||
| use maplit::hashmap; | ||||
| 
 | ||||
| use opengl_rust::{ | ||||
| 	prelude::*, | ||||
| 	gl_state::*, | ||||
| 	physics::PhysicsBody, | ||||
| 	renderable_model::{ | ||||
| 		attributes, | ||||
| 		RenderableModel, | ||||
| 	}, | ||||
| 	shader_closure::ShaderLookup, | ||||
| 	texture::Texture, | ||||
| }; | ||||
| 
 | ||||
| mod graphics; | ||||
|  | @ -31,12 +22,12 @@ pub struct GameState { | |||
| 	static_level: StaticLevel, | ||||
| } | ||||
| 
 | ||||
| struct StaticLevel { | ||||
| pub struct StaticLevel { | ||||
| 	tris: Vec <opengl_rust::physics::Triangle>, | ||||
| } | ||||
| 
 | ||||
| #[derive (Clone, Default)] | ||||
| struct LogicState { | ||||
| pub struct LogicState { | ||||
| 	player: PhysicsBody, | ||||
| 	player_jump_vec: Option <Vec3>, | ||||
| } | ||||
|  | @ -199,7 +190,7 @@ async fn main () -> Result <()> { | |||
| 	let mut phys_tris: Vec <opengl_rust::physics::Triangle> = Vec::new (); | ||||
| 	
 | ||||
| 	for node in scene.nodes () { | ||||
| 		if let Some (c) = node.camera () { | ||||
| 		if node.camera ().is_some () { | ||||
| 			camera = Some (Camera { | ||||
| 				transform: node.transform ().clone (), | ||||
| 			}); | ||||
|  | @ -409,34 +400,13 @@ async fn main () -> Result <()> { | |||
| 	Ok (()) | ||||
| } | ||||
| 
 | ||||
| struct ShaderLocations { | ||||
| 	attr_pos: u32, | ||||
| 	attr_normal: u32, | ||||
| 	attr_color: u32, | ||||
| 	uni_mvp: i32, | ||||
| } | ||||
| 
 | ||||
| impl ShaderLocations { | ||||
| 	pub fn new (shader_program: &opengl_rust::shader::ShaderProgram) -> anyhow::Result <Self> 
 | ||||
| 	{ | ||||
| 		let attr = |name: &str| shader_program.get_attribute_location (&CString::new (name.as_bytes ())?).try_into ().context ("Attribute location negative"); | ||||
| 		let uni = |name: &str| shader_program.get_uniform_location (&CString::new (name.as_bytes ())?).try_into ().context ("Uniform location bad"); | ||||
| 		
 | ||||
| 		Ok (Self { | ||||
| 			attr_pos:    attr ("attr_pos")?, | ||||
| 			attr_normal: attr ("attr_normal")?, | ||||
| 			attr_color:  attr ("attr_color")?, | ||||
| 			uni_mvp:     uni ("uni_mvp")?, | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* | ||||
| struct TriangleStream { | ||||
| 	pub verts: gpu_buffers::VertexBuffer, | ||||
| 	pub indices: gpu_buffers::IndexBuffer, | ||||
| } | ||||
| 
 | ||||
| struct Camera { | ||||
| */ | ||||
| pub struct Camera { | ||||
| 	transform: gltf::scene::Transform, | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -155,6 +155,8 @@ pub fn step ( | |||
| 		} | ||||
| 	} | ||||
| 	
 | ||||
| 	let _ = t_remaining; | ||||
| 	
 | ||||
| 	PhysicsResult { | ||||
| 		body: PhysicsBody { | ||||
| 			pos: old_pos, | ||||
|  | @ -178,7 +180,7 @@ pub fn get_candidate ( | |||
| 		radius, | ||||
| 		radius | ||||
| 	)); | ||||
| 	let v = p1 - p0; | ||||
| 	let _v = p1 - p0; | ||||
| 	
 | ||||
| 	let mut candidate = Collision { | ||||
| 		t: 2.0, | ||||
|  | @ -358,12 +360,12 @@ pub fn get_candidate ( | |||
| fn get_candidate_face (verts: &[Vec3], normal: Vec3, p0: Vec3, p1: Vec3, radius: f32) 
 | ||||
| -> Option <PrimCollision> 
 | ||||
| { | ||||
| 	let radius3 = Vec3::from (( | ||||
| 	let _radius3 = Vec3::from (( | ||||
| 		radius, | ||||
| 		radius, | ||||
| 		radius | ||||
| 	)); | ||||
| 	let v = p1 - p0; | ||||
| 	let _v = p1 - p0; | ||||
| 	
 | ||||
| 	let distance_to_face0 = Vec3::dot (normal, p0 - verts [0]) - radius; | ||||
| 	let distance_to_face1 = Vec3::dot (normal, p1 - verts [0]) - radius; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 _
						_