Coder Social home page Coder Social logo

vulkan's Issues

infinite scene

  • tile-based (9x base tile, base tile consists of two instances of the sand.gltf, tiles mirrored to match meshes)
    • alternatively, a single tile could be one gltf file (might be easier to place cactuses)
  • real sky box (moves with position moves with cam position)
  • directional light 0 and directional light 1 move according to cam position

cycle wrap-up

SW dev cycle-wrap for: json scene loading, fbx file support, scene graph refactor, material system refactor, and instancing

remaining sw changes / bug fixes:

  • fix shadows for instancing
  • instancing: transform component with model/normal matrix in instance buffer
  • instancing: ECS model access for all instances for skeletal animation

video:

  • animation for copying 3D file scene graph into main scene graph: Mantar finished
  • topics:
    ~~json scene loading, scene graph, ~~
    gltf, fbx,
    material system, instancing,
    thread pool/transfer queue pool and KTX
  • one part (8 topics) or two parts (4/4) or four parts (2/2/2/2)? --> 4 parts
  • script, video editing, voice over

add procedural terrain generation

Terms:

  • chunk: larger area corresponding to a height map (maybe 25m x 25m or 100m x 100m)
  • cell: node of quadtree, a result of dividing a chunk
  • patch: input primitive for tesselation control shader, usually triangle

best intro video: https://www.youtube.com/watch?v=OqRMNrvu6TE&t=45s&ab_channel=CemYuksel

Best blog on this topic: https://satellitnorden.wordpress.com/2018/02/12/vulkan-adventures-part-3-return-of-the-triangles-tessellation-tutorial/

quad tree: https://www.youtube.com/watch?v=YO_A5w_fxRQ&ab_channel=SimonDev
geometry clipmaps: https://mikejsavage.co.uk/geometry-clipmaps/

control texture to define which out of four terrain textures is used as albedo color: https://youtu.be/rNuDkDhadfU?si=8igI-qkdmwDU5NUu&t=179

Best YT tutorial SimonDev's (the first episodes only then he goes into planet rendering):
https://www.youtube.com/watch?v=hHGshzIXFWY&list=PLRL3Z3lpLmH3PNGZuDNf2WXnLTHpN9hXy&ab_channel=SimonDev

Tutorial about Vulkan tesselation:
https://github.com/PAMinerva/LearnVulkan/wiki/02.E-Tessellation

Wiki:
https://www.khronos.org/opengl/wiki/Tessellation

The work for Lukas in his engine
https://github.com/lukasino1214/soc_real_time_renderer/blob/2d9bc4a0376ad4e155d88a8a81433db2f2cf7102/src/graphics/tasks/draw_terrain.inl#L151-L192
https://github.com/lukasino1214/soc_real_time_renderer/blob/2d9bc4a0376ad4e155d88a8a81433db2f2cf7102/src/graphics/renderer.cpp#L194-L220

Vulkan cookbook, page 621 (p.658 in the pdf)
patches in view frustum OGLDEV: https://youtu.be/08dApu_vS4c?si=yDT4AJFd9ILHLNiv&t=111

Official Vulkan docs
https://docs.vulkan.org/spec/latest/chapters/tessellation.html#:~:text=Tessellation%20involves%20three%20pipeline%20stages,v%2Cw)%20parameter%20space.

[download JSON terrain config file (just brainstorming) terrain.json]
(https://github.com/beaumanvienna/vulkan/files/14395258/terrain.json)

write a serializer

create list of pairs [glTF file, entity] and [obj file, entity], then write the scene description file to disk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.