Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* partial implementation of cubemap support * finish first working draft of cubemap texture support, including example application * in texture_cubemap example, transform left-handed cubemap coordinates to right-handed world space and vice versa using modelView matrices instead of in shader code; add comments explaining coordinate system transformations * first (incomplete) draft for loading cubemap from six individual files * adapt texture_cubemap example and load_cubemap_from_file after rebasing branch on current master * add image_resource_t helper class for image loading library abstraction; implement image_resource_t classes for GLI and stb_image loaders; add factory method create_image_resource_from_file(); implement composite_cubemap_image_resource_t class for creating cubemap from individual files; update texture_cubemap example * partial implementation of cubemap support * finish first working draft of cubemap texture support, including example application * in texture_cubemap example, transform left-handed cubemap coordinates to right-handed world space and vice versa using modelView matrices instead of in shader code; add comments explaining coordinate system transformations * first (incomplete) draft for loading cubemap from six individual files * adapt texture_cubemap example and load_cubemap_from_file after rebasing branch on current master * add image_resource_t helper class for image loading library abstraction; implement image_resource_t classes for GLI and stb_image loaders; add factory method create_image_resource_from_file(); implement composite_cubemap_image_resource_t class for creating cubemap from individual files; update texture_cubemap example * add cubemap sample texture in ktx and dds format add links to source * implement image_resource as bridge pattern to facilitate caching simplify image_resource interfaces fix screen resizing in texture_cubemap example after update add caching to texture_cubemap example add loading of dds texture to texture_cubemap example * update revision of auto_vk * add license information about yokohama_at_night textures * remove commented-out code * follow naming conventions Co-authored-by: Johannes Unterguggenberger <[email protected]> * rename sRGB, HDR parameters * add virtual constructor to image_resource_t make conversion constructors of image_resource_base_t explicit make variables and parameters const and auto if possible prevent variable use after std::move * delete special functions for image_resource_base_t make conversion constructors explicit for image_resource_t classes * follow naming conventions Co-authored-by: Johannes Unterguggenberger <[email protected]> * Apply suggestions from code review follow naming conventions use gvk::owned instead of std::move Co-authored-by: Johannes Unterguggenberger <[email protected]> * use avk::resource_reference for type of image_resource instead of std::unique_ptr, adapt code accordingly add create_image_resource() helper functions fix compilation errors in texture_cubemap example * use avk::owning_resource for type of image_resource instead of std::unique_ptr, adapt code accordingly add create_image_resource() helper functions fix compilation errors in texture_cubemap example * add explanation of memory, resource leaks for [[nodiscard]] to guidelines * add image_resource.hpp to gvk.hpp * don't create image_resource explicitly in cubemap example, use create_cubemap_from_file_cached instead * rename image_resource* types and files to image_data* remove old duplicate file * Revert "add explanation of memory, resource leaks for [[nodiscard]] to guidelines" * rename image_resource* types to image_data* * code cleanup in cubemap_texture example Co-authored-by: Johannes Unterguggenberger <[email protected]> * remove initialization of removed mInitTime variable * use consistent parameter names, camel case Co-authored-by: Johannes Unterguggenberger <[email protected]> * use consistent variable names * use create_vertex_and_index_buffers, create_normals_buffer for model loading in texture_cubemap example * remove owning_resource wrapper from image_data Co-authored-by: Johannes Unterguggenberger <[email protected]> * remove owning_resource from image_data * use only a single descriptor cache for both pipelines * add mirror_matrix and cancel_translation_from_matrix helper functions * use enum to define axis in mirror_matrix follow naming guidelines for parameters * update auto_vk ref * update description of texture_cubemap shaders, add newline Co-authored-by: Johannes Unterguggenberger <[email protected]> * don't explicitly specify image format for image view * use enum struct instead of old style enum fix parameter type * - Restructured texture_cubemap example a bit by introducing `enum struct options`. This should improve readability. - Removed useless `updater` calls and restructured the remaining code to be clearer. - Added comments to the functions in `math_utils.hpp` that are added with this PR - Removed default parameter value for `mirror_matrix`'s `principal_axis` parameter. There is not really a justification why any of the axes should be the default. The user must be precise anyways. Also removed the parameter's `const` declaration. * Linked to latest Auto-Vk master which includes necessary changes for this PR. * don't try to flip gli texture if it wasn't loaded successfully * Fixed RELEASE-mode project config in texture_cubemap.vcxproj.user Co-authored-by: Stefan Fiedler <[email protected]> Co-authored-by: Johannes Unterguggenberger <[email protected]>
- Loading branch information