fyroxengine / fyrox-tutorials Goto Github PK
View Code? Open in Web Editor NEWSource code of tutorials for Fyrox Game Engine (formerly known as rg3d)
License: MIT License
Source code of tutorials for Fyrox Game Engine (formerly known as rg3d)
License: MIT License
Tutorials are quite outdated already, because engine changing rapidly. There were few breaking changes in the engine, but overall it should be easy to update the code to compile with latest engine.
I'm following the instructions here
Here is a repository showing where I'm up to: https://github.com/shadow7412/Fyrox-tutorial1
Basically, when I get to the end of the "Player and camera controller" section, I'm told I should be able to run the build and see a world and character, but I'm still being presented with a black screen (as per the end of the "Framework" section).
The only thing that jumps out at me from the logs is "Insufficient atlas size". Could that be the cause?
I'm using CLion, and rust v 1.65.0 in case that's relevant.
/home/[REDACTED]/.cargo/bin/cargo run --color=always
warning: unused import: `WindowEvent`
--> src/main.rs:7:20
|
7 | event::{Event, WindowEvent},
| ^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused variable: `context`
--> src/main.rs:59:26
|
59 | fn update(&mut self, context: &mut PluginContext, _: &mut ControlFlow) {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
|
= note: `#[warn(unused_variables)]` on by default
warning: unused variable: `event`
--> src/main.rs:65:9
|
65 | event: &Event<()>,
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
warning: fields `scene`, `level` and `player` are never read
--> src/main.rs:29:5
|
28 | struct Game {
| ---- fields in this struct
29 | scene: Handle<Scene>,
| ^^^^^
30 | level: Level,
| ^^^^^
31 | player: Player,
| ^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `rpg-tutorial` (bin "rpg-tutorial") generated 4 warnings
Finished dev [unoptimized + debuginfo] target(s) in 0.08s
Running `target/debug/rpg-tutorial`
[INFO]: Supported GL Extensions: {"GL_ARB_tessellation_shader", "GL_AMD_framebuffer_multisample_advanced", "GL_ARB_bindless_texture", "GL_EXT_EGL_image_storage", "GL_KHR_robustness", "GL_ARB_texture_query_lod", "GL_EXT_abgr", "GL_EXT_blend_equation_separate", "GL_ARB_shading_language_packing", "GL_NV_vdpau_interop", "GL_ARB_vertex_buffer_object", "GL_KHR_texture_compression_astc_sliced_3d", "GL_EXT_texture_snorm", "GL_ARB_texture_rgb10_a2ui", "GL_EXT_window_rectangles", "GL_ARB_shader_image_load_store", "GL_ARB_texture_float", "GL_EXT_memory_object", "GL_ATI_texture_float", "GL_EXT_provoking_vertex", "GL_ARB_arrays_of_arrays", "GL_ARB_derivative_control", "GL_ARB_instanced_arrays", "GL_S3_s3tc", "GL_ARB_parallel_shader_compile", "GL_ARB_pixel_buffer_object", "GL_ARB_get_texture_sub_image", "GL_NV_packed_depth_stencil", "GL_ARB_texture_filter_anisotropic", "GL_ARB_shader_atomic_counters", "GL_ARB_gpu_shader_int64", "GL_ARB_shader_storage_buffer_object", "GL_ARB_texture_barrier", "GL_ARB_depth_buffer_float", "GL_ATI_blend_equation_separate", "GL_EXT_semaphore", "GL_ARB_ES2_compatibility", "GL_ARB_explicit_attrib_location", "GL_ARB_conservative_depth", "GL_AMD_vertex_shader_layer", "GL_ARB_separate_shader_objects", "GL_ARB_compute_variable_group_size", "GL_ARB_texture_cube_map_array", "GL_EXT_shader_image_load_formatted", "GL_ARB_half_float_pixel", "GL_KHR_texture_compression_astc_ldr", "GL_ARB_draw_buffers", "GL_KHR_parallel_shader_compile", "GL_ARB_draw_buffers_blend", "GL_ARB_explicit_uniform_location", "GL_ARB_sampler_objects", "GL_ARB_texture_view", "GL_ARB_conditional_render_inverted", "GL_EXT_texture_filter_anisotropic", "GL_NVX_gpu_memory_info", "GL_EXT_texture_sRGB_R8", "GL_IBM_multimode_draw_arrays", "GL_EXT_draw_instanced", "GL_EXT_texture_sRGB_RG8", "GL_AMD_multi_draw_indirect", "GL_ARB_texture_buffer_object", "GL_ARB_sample_shading", "GL_ARB_texture_rg", "GL_ARB_blend_func_extended", "GL_ATI_meminfo", "GL_EXT_EGL_sync", "GL_EXT_shader_samples_identical", "GL_EXT_pixel_buffer_object", "GL_EXT_vertex_attrib_64bit", "GL_EXT_demote_to_helper_invocation", "GL_ARB_indirect_parameters", "GL_ARB_internalformat_query", "GL_ARB_internalformat_query2", "GL_ARB_map_buffer_alignment", "GL_AMD_depth_clamp_separate", "GL_ARB_query_buffer_object", "GL_ARB_occlusion_query2", "GL_EXT_draw_buffers2", "GL_ARB_point_sprite", "GL_ARB_vertex_array_bgra", "GL_ARB_texture_stencil8", "GL_EXT_semaphore_fd", "GL_EXT_memory_object_fd", "GL_EXT_texture_shadow_lod", "GL_EXT_texture_compression_rgtc", "GL_ARB_shader_stencil_export", "GL_ATI_texture_mirror_once", "GL_ARB_sync", "GL_ARB_sparse_texture", "GL_ANGLE_texture_compression_dxt5", "GL_ARB_framebuffer_sRGB", "GL_ARB_vertex_shader", "GL_NV_alpha_to_coverage_dither_control", "GL_ARB_vertex_attrib_64bit", "GL_ARB_shader_ballot", "GL_EXT_framebuffer_object", "GL_EXT_texture_compression_s3tc", "GL_ARB_multi_draw_indirect", "GL_ARB_polygon_offset_clamp", "GL_ARB_transform_feedback3", "GL_ARB_ES3_compatibility", "GL_AMD_performance_monitor", "GL_ARB_vertex_attrib_binding", "GL_ARB_texture_gather", "GL_ARB_shader_objects", "GL_ARB_vertex_type_10f_11f_11f_rev", "GL_ARB_invalidate_subdata", "GL_EXT_shader_image_load_store", "GL_EXT_texture_integer", "GL_ARB_transform_feedback_overflow_query", "GL_ARB_texture_query_levels", "GL_INTEL_blackhole_render", "GL_MESA_shader_integer_functions", "GL_ARB_viewport_array", "GL_NV_conditional_render", "GL_ARB_texture_swizzle", "GL_EXT_texture_array", "GL_ARB_shader_atomic_counter_ops", "GL_EXT_texture_mirror_clamp", "GL_ARB_half_float_vertex", "GL_AMD_vertex_shader_viewport_index", "GL_ARB_post_depth_coverage", "GL_ARB_clear_texture", "GL_EXT_packed_depth_stencil", "GL_ARB_clear_buffer_object", "GL_EXT_texture_sRGB", "GL_ARB_compute_shader", "GL_ARB_robustness", "GL_ARB_spirv_extensions", "GL_KHR_blend_equation_advanced", "GL_ARB_shader_viewport_layer_array", "GL_ARB_texture_non_power_of_two", "GL_EXT_vertex_array_bgra", "GL_ARB_texture_compression_rgtc", "GL_ARB_program_interface_query", "GL_ARB_clip_control", "GL_ARB_shader_texture_lod", "GL_ARB_enhanced_layouts", "GL_NV_copy_image", "GL_ARB_texture_rectangle", "GL_ARB_uniform_buffer_object", "GL_KHR_context_flush_control", "GL_AMD_shader_trinary_minmax", "GL_ARB_provoking_vertex", "GL_ARB_transform_feedback2", "GL_EXT_polygon_offset_clamp", "GL_ARB_transform_feedback_instanced", "GL_AMD_draw_buffers_blend", "GL_ARB_sparse_buffer", "GL_ARB_framebuffer_no_attachments", "GL_EXT_texture_compression_dxt1", "GL_AMD_texture_texture4", "GL_AMD_shader_stencil_export", "GL_ARB_multi_bind", "GL_ARB_direct_state_access", "GL_EXT_texture_sRGB_decode", "GL_ARB_shading_language_420pack", "GL_KHR_no_error", "GL_MESA_framebuffer_flip_y", "GL_ARB_fragment_layer_viewport", "GL_ARB_sparse_texture2", "GL_AMD_pinned_memory", "GL_ARB_shader_clock", "GL_KHR_debug", "GL_NV_shader_atomic_int64", "GL_ARB_debug_output", "GL_ARB_texture_compression_bptc", "GL_EXT_transform_feedback", "GL_ARB_cull_distance", "GL_NV_depth_clamp", "GL_ARB_sparse_texture_clamp", "GL_ARB_texture_storage", "GL_ARB_draw_instanced", "GL_EXT_framebuffer_multisample_blit_scaled", "GL_ANGLE_texture_compression_dxt3", "GL_MESA_pack_invert", "GL_ARB_framebuffer_object", "GL_ARB_copy_image", "GL_ARB_texture_multisample", "GL_ARB_shader_draw_parameters", "GL_ARB_shader_group_vote", "GL_ARB_shader_image_size", "GL_NV_compute_shader_derivatives", "GL_ARB_map_buffer_range", "GL_EXT_shader_integer_mix", "GL_EXT_texture_shared_exponent", "GL_ARB_compressed_texture_pixel_storage", "GL_ARB_texture_buffer_range", "GL_ARB_shader_precision", "GL_ARB_seamless_cube_map", "GL_EXT_framebuffer_blit", "GL_EXT_timer_query", "GL_KHR_robust_buffer_access_behavior", "GL_ARB_ES3_1_compatibility", "GL_ARB_shader_bit_encoding", "GL_AMD_conservative_depth", "GL_ARB_timer_query", "GL_OES_EGL_image", "GL_ARB_shader_subroutine", "GL_NV_texture_barrier", "GL_AMD_gpu_shader_int64", "GL_ARB_fragment_coord_conventions", "GL_ARB_pipeline_statistics_query", "GL_ARB_robust_buffer_access_behavior", "GL_EXT_texture_swizzle", "GL_ARB_seamless_cubemap_per_texture", "GL_ARB_color_buffer_float", "GL_ARB_texture_buffer_object_rgb32", "GL_ARB_fragment_shader", "GL_ARB_get_program_binary", "GL_ARB_draw_elements_base_vertex", "GL_EXT_framebuffer_multisample", "GL_ARB_vertex_array_object", "GL_EXT_framebuffer_sRGB", "GL_ARB_texture_storage_multisample", "GL_ARB_buffer_storage", "GL_ARB_gl_spirv", "GL_ARB_shading_language_include", "GL_ARB_vertex_type_2_10_10_10_rev", "GL_EXT_packed_float", "GL_ARB_base_instance", "GL_ARB_draw_indirect", "GL_MESA_texture_signed_rgba", "GL_ARB_gpu_shader_fp64", "GL_ARB_depth_clamp", "GL_AMD_query_buffer_object", "GL_ARB_texture_mirror_clamp_to_edge", "GL_ARB_ES3_2_compatibility", "GL_ARB_copy_buffer", "GL_ARB_stencil_texturing", "GL_ARB_gpu_shader5", "GL_EXT_depth_bounds_test", "GL_ARB_shader_texture_image_samples", "GL_AMD_seamless_cubemap_per_texture"}
[INFO]: Shader BlurShader_VertexShader compiled successfully!
[INFO]: Shader BlurShader_FragmentShader compiled successfully!
[INFO]: Shader BlurShader linked successfully!
[INFO]: Shader SsaoShader_VertexShader compiled successfully!
[INFO]: Shader SsaoShader_FragmentShader compiled successfully!
[INFO]: Shader SsaoShader linked successfully!
[INFO]: Shader SpotLightShader_VertexShader compiled successfully!
[INFO]: Shader SpotLightShader_FragmentShader compiled successfully!
[INFO]: Shader SpotLightShader linked successfully!
[INFO]: Shader PointLightShader_VertexShader compiled successfully!
[INFO]: Shader PointLightShader_FragmentShader compiled successfully!
[INFO]: Shader PointLightShader linked successfully!
[INFO]: Shader DirectionalLightShader_VertexShader compiled successfully!
[INFO]: Shader DirectionalLightShader_FragmentShader compiled successfully!
[INFO]: Shader DirectionalLightShader linked successfully!
[INFO]: Shader AmbientLightShader_VertexShader compiled successfully!
[INFO]: Shader AmbientLightShader_FragmentShader compiled successfully!
[INFO]: Shader AmbientLightShader linked successfully!
[INFO]: Shader FlatShader_VertexShader compiled successfully!
[INFO]: Shader FlatShader_FragmentShader compiled successfully!
[INFO]: Shader FlatShader linked successfully!
[INFO]: Shader SkyboxShader_VertexShader compiled successfully!
[INFO]: Shader SkyboxShader_FragmentShader compiled successfully!
[INFO]: Shader SkyboxShader linked successfully!
[INFO]: Shader SpotVolumetricLight_VertexShader compiled successfully!
[INFO]: Shader SpotVolumetricLight_FragmentShader compiled successfully!
[INFO]: Shader SpotVolumetricLight linked successfully!
[INFO]: Shader PointVolumetricLight_VertexShader compiled successfully!
[INFO]: Shader PointVolumetricLight_FragmentShader compiled successfully!
[INFO]: Shader PointVolumetricLight linked successfully!
[INFO]: Shader FlatShader_VertexShader compiled successfully!
[INFO]: Shader FlatShader_FragmentShader compiled successfully!
[INFO]: Shader FlatShader linked successfully!
[INFO]: Shader FlatShader_VertexShader compiled successfully!
[INFO]: Shader FlatShader_FragmentShader compiled successfully!
[INFO]: Shader FlatShader linked successfully!
[INFO]: Shader SpriteShader_VertexShader compiled successfully!
[INFO]: Shader SpriteShader_FragmentShader compiled successfully!
[INFO]: Shader SpriteShader linked successfully!
[INFO]: Shader UIShader_VertexShader compiled successfully!
[INFO]: Shader UIShader_FragmentShader compiled successfully!
[INFO]: Shader UIShader linked successfully!
[INFO]: Shader ParticleSystemShader_VertexShader compiled successfully!
[INFO]: Shader ParticleSystemShader_FragmentShader compiled successfully!
[INFO]: Shader ParticleSystemShader linked successfully!
[INFO]: Shader DebugShader_VertexShader compiled successfully!
[INFO]: Shader DebugShader_FragmentShader compiled successfully!
[INFO]: Shader DebugShader linked successfully!
[INFO]: Shader FXAAShader_VertexShader compiled successfully!
[INFO]: Shader FXAAShader_FragmentShader compiled successfully!
[INFO]: Shader FXAAShader linked successfully!
[INFO]: Shader RectangleShader_VertexShader compiled successfully!
[INFO]: Shader RectangleShader_FragmentShader compiled successfully!
[INFO]: Shader RectangleShader linked successfully!
Insufficient atlas size!
[INFO]: Shader BlurShader_VertexShader compiled successfully!
[INFO]: Shader BlurShader_FragmentShader compiled successfully!
[INFO]: Shader BlurShader linked successfully!
[INFO]: Shader SsaoShader_VertexShader compiled successfully!
[INFO]: Shader SsaoShader_FragmentShader compiled successfully!
[INFO]: Shader SsaoShader linked successfully!
[INFO]: A new associated scene rendering data was created for scene 0:1!
[INFO]: Shader DecalShader_VertexShader compiled successfully!
[INFO]: Shader DecalShader_FragmentShader compiled successfully!
[INFO]: Shader DecalShader linked successfully!
[INFO]: Shader AdaptationShader_VertexShader compiled successfully!
[INFO]: Shader AdaptationShader_FragmentShader compiled successfully!
[INFO]: Shader AdaptationShader linked successfully!
[INFO]: Shader LuminanceShader_VertexShader compiled successfully!
[INFO]: Shader LuminanceShader_FragmentShader compiled successfully!
[INFO]: Shader LuminanceShader linked successfully!
[INFO]: Shader DownscaleShader_VertexShader compiled successfully!
[INFO]: Shader DownscaleShader_FragmentShader compiled successfully!
[INFO]: Shader DownscaleShader linked successfully!
[INFO]: Shader HdrToLdrShader_VertexShader compiled successfully!
[INFO]: Shader HdrToLdrShader_FragmentShader compiled successfully!
[INFO]: Shader HdrToLdrShader linked successfully!
[INFO]: Shader BloomShader_VertexShader compiled successfully!
[INFO]: Shader BloomShader_FragmentShader compiled successfully!
[INFO]: Shader BloomShader linked successfully!
[INFO]: Shader GaussianBlurShader_VertexShader compiled successfully!
[INFO]: Shader GaussianBlurShader_FragmentShader compiled successfully!
[INFO]: Shader GaussianBlurShader linked successfully!
Hello. I was following the tutorial here https://rg3d.rs/tutorials/2021/03/05/tutorial1.html but when I try to load the scene, I get this error. Here is the complete log.
The system is:
Update: it works with your scene (if I do a git clone of this repo) but not with scenes made by me on the editor compiled on my own system.
Update 2: the problem seems to be the editor or some configuration of it. When I open your scenes and save them on my version of the editor, I get the same error. Btw, the textures do not load. I guess it is related to the fact that the textures folder is not asked for.
It may be useful (or maybe not, but just in case) to point out that the editor asks for my working directory (which I defined as the src of my project) but not the textures folder as shown on the tutorial.
Thanks in advance.
[INFO]: Shader FlatShader_VertexShader compiled!
[INFO]: Shader FlatShader_FragmentShader compiled!
[INFO]: Shader FlatShader linked!
[INFO]: Shader SsaoShader_VertexShader compiled!
[INFO]: Shader SsaoShader_FragmentShader compiled!
[INFO]: Shader SsaoShader linked!
[INFO]: Shader DeferredLightShader_VertexShader compiled!
[INFO]: Shader DeferredLightShader_FragmentShader compiled!
[INFO]: Shader DeferredLightShader linked!
[INFO]: Shader DeferredLightShader_VertexShader compiled!
[INFO]: Shader DeferredLightShader_FragmentShader compiled!
[INFO]: Shader DeferredLightShader linked!
[INFO]: Shader DeferredLightShader_VertexShader compiled!
[INFO]: Shader DeferredLightShader_FragmentShader compiled!
[INFO]: Shader DeferredLightShader linked!
[INFO]: Shader AmbientLightShader_VertexShader compiled!
[INFO]: Shader AmbientLightShader_FragmentShader compiled!
[INFO]: Shader AmbientLightShader linked!
[INFO]: Shader FlatShader_VertexShader compiled!
[INFO]: Shader FlatShader_FragmentShader compiled!
[INFO]: Shader FlatShader linked!
[INFO]: Shader SpotShadowMapShader_VertexShader compiled!
[INFO]: Shader SpotShadowMapShader_FragmentShader compiled!
[INFO]: Shader SpotShadowMapShader linked!
[INFO]: Shader PointShadowMapShader_VertexShader compiled!
[INFO]: Shader PointShadowMapShader_FragmentShader compiled!
[INFO]: Shader PointShadowMapShader linked!
[INFO]: Shader SpotVolumetricLight_VertexShader compiled!
[INFO]: Shader SpotVolumetricLight_FragmentShader compiled!
[INFO]: Shader SpotVolumetricLight linked!
[INFO]: Shader PointVolumetricLight_VertexShader compiled!
[INFO]: Shader PointVolumetricLight_FragmentShader compiled!
[INFO]: Shader PointVolumetricLight linked!
[INFO]: Shader FlatShader_VertexShader compiled!
[INFO]: Shader FlatShader_FragmentShader compiled!
[INFO]: Shader FlatShader linked!
[INFO]: Shader FlatShader_VertexShader compiled!
[INFO]: Shader FlatShader_FragmentShader compiled!
[INFO]: Shader FlatShader linked!
[INFO]: Shader FlatShader_VertexShader compiled!
[INFO]: Shader FlatShader_FragmentShader compiled!
[INFO]: Shader FlatShader linked!
[INFO]: Shader UIShader_VertexShader compiled!
[INFO]: Shader UIShader_FragmentShader compiled!
[INFO]: Shader UIShader linked!
[INFO]: Shader ParticleSystemShader_VertexShader compiled!
[INFO]: Shader ParticleSystemShader_FragmentShader compiled!
[INFO]: Shader ParticleSystemShader linked!
[INFO]: Shader DebugShader_VertexShader compiled!
[INFO]: Shader DebugShader_FragmentShader compiled!
[INFO]: Shader DebugShader linked!
[INFO]: Shader ForwardShader_VertexShader compiled!
[INFO]: Shader ForwardShader_FragmentShader compiled!
[INFO]: Shader ForwardShader linked!
[INFO]: Shader FXAAShader_VertexShader compiled!
[INFO]: Shader FXAAShader_FragmentShader compiled!
[INFO]: Shader FXAAShader linked!
[INFO]: Shader SpriteShader2D_VertexShader compiled!
[INFO]: Shader SpriteShader2D_FragmentShader compiled!
[INFO]: Shader SpriteShader2D linked!
[ERROR]: Unable to load model from "data/models/scene.rgs"! Reason Visit(RegionDoesNotExist("NormalTexture"))
Title.
Followed this piece of code, as well as the comment in the Button.rs engine file: https://fyrox-book.github.io/fyrox/ui/button.html
on_ui_message
never triggers.
My code: https://github.com/RoryLetteney/crab-clicker/blob/main/game/src/lib.rs
I don't see a way to create a canvas and/or text (or other UI elements) within the FyroxEd. They also don't appear to be created via code using the snippets in the documentation. Are they currently implemented and expected to be working? If so, could you please provide a full example of it working?
Edit: Here is my code. The UI pieces are in the score
script. https://github.com/RoryLetteney/crab-clicker/tree/main/game/src
Edit2: Looks like text may only show up when inside something like a border or button?
After fixing build error in #3, I noticed when running the rpg tutorial, this runtime error:
[ERROR]: Unable to load model from "data/levels/level.rgs"! Reason Visit(FieldDoesNotExist("Id"))
thread 'main' panicked at 'called Result::unwrap()
on an Err
value: Some(Visit(FieldDoesNotExist("Id")))', src\level
\mod.rs:19:14
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.