Dennis Bautembach
Dennis Bautembach
  • Видео 23
  • Просмотров 461 797
The Power of Visual Debugging with ImGui
A visual debugging tool for a 3D reconstruction algorithm I was working on at the time, built with ImGui.
Inspired by Casey Muratori's videos on ImGui (ruclips.net/video/Z1qyvQsjK5Y/видео.html) and the Witness game (ruclips.net/video/lwF7PJMB2ck/видео.html), I adopted his visual debugging technique for my own projects. This was intended as a personal "thank you" video to him. But seeing as the topic may be of interest to others I decided to publish it.
Просмотров: 744

Видео

High-Performance SNN Simulation on 8 GPUs (PhD Defense)
Просмотров 3372 года назад
My PhD thesis summarizes my research work on spiking neural networks over the last 3 years. More info: bautembach.de/#phd
Multi-GPU SNN Sim. with Static Load Balancing
Просмотров 2253 года назад
Accompanying video presentation for our paper with the same title, as accepted at IJCNN 2021. project: bautembach.de/#ijcnn2021 slides: docs.google.com/presentation/d/1Bu6CVQFT1jLKykVDadmncWMqvDq_KuDxPcT96DzqO2c/edit?usp=sharing VO by Beth R.: www.linkedin.com/in/bethrendely/
ROS Absolute Beginner Overview
Просмотров 933 года назад
..intended for people who have never worked with ROS before. Slides with detailed speaker notes: docs.google.com/presentation/d/1xhWt55fv-nLByvWTowuYcp2aWGJbJoPAbCm1xs-xd5Y/edit?usp=sharing
Human Pose Estimation via Matrix Completion
Просмотров 1784 года назад
as presented at PETRA 2018 project: bautembach.de/#petra2018 slides: docs.google.com/presentation/d/1MLOgHorqBR17hcRdfQy5OkrY9gidUJQwi4HCVzB5bw0/edit?usp=sharing voiced over by Murphy Roeder ( murphy.roeder)
Faster and Simpler SNN Sim. with Work Queues
Просмотров 2904 года назад
Accompanying video presentation of our paper "Faster and Simpler Spiking Neural Network Simulation with Work Queues" as accepted at IJCNN 2020. project: bautembach.de/#ijcnn2020 slides: docs.google.com/presentation/d/1UsCwHCaRh5gGJSXGWvLWj959aUg8qMJE/edit?usp=sharing&ouid=118207058553970495557&rtpof=true&sd=true voiced over by Murphy Roeder ( murphy.roeder)
KTM 640 LC4 Photo Shoot
Просмотров 2484 года назад
Did a quick photo shoot for a friend who wants to sell his KTM. Using 'light painting'/compositing as inspired by fstoppers: ruclips.net/video/jeRDHzVLulY/видео.html
Watercity 15.08.2017
Просмотров 2356 лет назад
Music: We Are One by Vexento ruclips.net/user/Vexento soundcloud.com/vexento Music provided by Audio Library ruclips.net/video/Ssvu2yncgWU/видео.html
Hiking Trip to Psiloritis
Просмотров 2446 лет назад
Voyage by LEMMiNO soundcloud.com/lemmino Creative Commons - Attribution-ShareAlike 3.0 Unported- CC BY-SA 3.0 ruclips.net/user/redirect?v=2D9ri6EkI7s&redir_token=7XWDBO8PLgt3m0igTba3wLeawtx8MTUyNjQyMjA5NkAxNTI2MzM1Njk2&q=http://creativecommons.org/licenses/by-sa/3.0/&event=video_description Music promoted by Audio Library ruclips.net/video/2D9ri6EkI7s/видео.html
Californa Superbike School at Megara-Athens
Просмотров 7286 лет назад
Aerial footage by Spyros Kokkolis (ruclips.net/user/nathair67) Music: - Soul (Vlog Music) by Dj Quads soundcloud.com/aka-dj-quads - Start Your Engines by Ethan Meixsell - Music promoted by Audio Library ruclips.net/video/m0UBmJLv208/видео.html
Trip to the ghost village of Kalami-Crete
Просмотров 2,1 тыс.6 лет назад
Music: First To Last - Gunnar Olsen ruclips.net/video/7bWwDbCAums/видео.html
My first flight lesson in a cessna 172
Просмотров 646 лет назад
Music: Third Time - Jingle Punks ruclips.net/video/AokZj2fKS-8/видео.html
Krousona 12.08.2017
Просмотров 2916 лет назад
Music: JPB - High [NCS Release] ruclips.net/video/Tv6WImqSuxA/видео.html SoundCloud soundcloud.com/anis-jay Facebook jayprodbeatz Twitter gtaanis Instagram gtaanis
Bali - Heraklion 13.08.2017
Просмотров 3026 лет назад
Music: Disfigure - Blank [NCS Release] More from Disfigure: DisfigureOfficial www.soundcloud.com/disfigureofficial ruclips.net/user/DisfigureMusic More royalty-free music: ruclips.net/video/p7ZsBPK656s/видео.html
Bali-Heraklion 25.06.2017
Просмотров 5316 лет назад
Dennis - MT07 Giannis Manos - CBR Repsol Giorgos - CBR600 Black Girogos - CBR1000 Red Kostas - GSXR K6 Manos - KTM Manos - GSXR K4 Manos - Fazer Nikos - Tuono Panos - R1 & friends
Krousona Unplugged
Просмотров 1806 лет назад
Krousona Unplugged
Stroumboulas
Просмотров 2476 лет назад
Stroumboulas
HD Fusion
Просмотров 2 тыс.11 лет назад
HD Fusion
Animated Sparse Voxel Octrees: In-depth pt 3/3
Просмотров 59 тыс.13 лет назад
Animated Sparse Voxel Octrees: In-depth pt 3/3
Animated Sparse Voxel Octrees: In-depth pt 2/3
Просмотров 30 тыс.13 лет назад
Animated Sparse Voxel Octrees: In-depth pt 2/3
Animated Sparse Voxel Octrees: In-depth pt1/3
Просмотров 50 тыс.13 лет назад
Animated Sparse Voxel Octrees: In-depth pt1/3
Animated Sparse Voxel Octrees: Introduction
Просмотров 62 тыс.13 лет назад
Animated Sparse Voxel Octrees: Introduction

Комментарии

  • @philippglira1518
    @philippglira1518 3 месяца назад

    Hi, thanks for uploading the video. We're trying to visualize a point cloud in imgui (it's for an academic paper). Your code would help us a lot - can it be found somewhere? Thanks.

    • @dennisrkb
      @dennisrkb 3 месяца назад

      imgui does not have any (point cloud) rendering capabilities of its own. It is strictly a UI (windows, menus, buttons, ...) that easily integrates with 3D graphics APIs such as OpenGL, DirectX, ... You could export your point cloud and view it offline in MeshLab or another 3D viewer/editor. Alternatively, you could render the point cloud to a texture and then display said texture. The rendering could be done on the CPU or GPU. Such a program would take ~10 LOC in OpenGL for the render code plus boilerplate/scaffolding. I recommend learnopengl[dot]com We are talking about visualizing points as single pixels or tiny discs here. Anything more fancy/complicated quickly gets into research territory. See Grossmann & Dally 1998; Magnus Strengert, Martin Kraus, and Thomas Ertl 2006; ...

  • @CabrioDriving
    @CabrioDriving 9 месяцев назад

    Very nice to listen to. 33:32 good design.

  • @CabrioDriving
    @CabrioDriving 9 месяцев назад

    Cool stuff, Dennis.

  • @exercisethoughtsanddiscussions
    @exercisethoughtsanddiscussions 10 месяцев назад

    I still remember the thrill of mine!😊

  • @Hunter_R
    @Hunter_R 11 месяцев назад

    Ωραίος! Παρόλο που το μηχανάκι σου δεν υποστηρίζει την οδήγηση σου το πας καλά. Στο 6:58 το έσωσες παρά τρίχα, το διαχειριστικες σωστα.!

  • @mattshu
    @mattshu 11 месяцев назад

    Omg I just realized this vid is 12 years old. You definitely had future insight back then!

  • @world_paths_music
    @world_paths_music Год назад

    Not only a hobby but I can also feel passion. Looks great. Greetings 😊

  • @darkengine5931
    @darkengine5931 Год назад

    Please correct me if I'm wrong, but intuitively I'm thinking you might already have a solution for fairly extreme deformations (like a character doing contortionist poses) and even without the need to be very conservative with the stretch factor or even avoiding it entirely without visible hole artifacts (along with avoiding stretching artifacts which are too noticeable) provided that your voxel models are high-resolution and filled in. The holes only seem to be an issue with a hollow surface, since a ray that misses a rotated voxel on the surface should still end up hitting one inside, and that doesn't seem to me like it'd create such noticeable artifacts unless the voxels are really large. That is to say, instead of only rasterizing the triangles making up the surface of the character to your voxel hierarchy, perform an additional precomputation step constructing your SVO which fills in the voxels making up the inside of the character's body (perhaps interpolating the material values of neighboring voxels and repeating until the entire character's body is filled in), turning it into a filled solid. For example, it is very challenging to deform the pixels making up a high-resolution outline of a triangle if we're going to do on the fly at render time per-pixel using a quadtree in a way analogous to raytracing without yielding gaps in the deformed outline or very visible stretching of it, but it doesn't seem so much so if the triangle is filled in and not just an outline. Maybe we'll notice a few aliasing artifacts around the triangle's edges if we zoom in close around the filled triangle's edges, but gaps should be eliminated since a ray that misses a rotated pixel will still hit one of its neighbors. Of course that results in way more voxels to store in the SVO, but that seems like the type of content that would lend itself reasonably well to SVDAG compression with lots of redundant octants.

    • @dennisrkb
      @dennisrkb Год назад

      Or define a mathematically sound, hole-free, ray-SVO intersection test that takes bone transforms and weights into account. That would give you the same guarantees. And while it would work for arbitrary deformations (within the skinned mesh domain that is), the stronger your deformation the less potential for pruning ray-voxel intersections.

    • @darkengine5931
      @darkengine5931 Год назад

      ​@@dennisrkb A difficulty I am finding just thinking about it is avoiding the requirement to store a great deal more data per voxel (in my case, even 4 bytes would be a great deal more data) even if I was afforded a great deal of time in precomputation and could anticipate all possible deformations in advance. But also my dream would be to generalize this beyond bone deformations, since a lot of game and VFX engines often also do things like tweens/morphs applied on top with displacement maps to displace vertices arbitrarily for things like facial expressions, making muscles flex, morphing a skinny character into a chubby one (procedural character creation as in the case of games like Mass Effect allowing users to generate their own characters using morph sliders) with results more akin to smooth translation than rotation, etc. It seems very difficult to anticipate every possible case and even if we could, to avoid creating far more false positives with AABBs that encompass the full range of possible relative motion for each voxel in the hierarchy. It seems to me like a filled-in voxel model would be a lot more forgiving in that regard unless I'm overlooking something. I might need to just try it and see.

    • @darkengine5931
      @darkengine5931 Год назад

      @@dennisrkb Amazing work BTW! I really love voxels and would love to find not only engines utilizing them more but artists to utilize them more directly in the content creation process.

    • @dennisrkb
      @dennisrkb Год назад

      @@darkengine5931 How should inner voxels be animated? Why wouldn't they suffer from the same dilemma you're describing?

    • @darkengine5931
      @darkengine5931 Год назад

      @@dennisrkb Same way as the outer voxels with the way I'm conceiving it (which could very possibly be overlooking edge cases). For skinning in the engine we're using even though it's based on polygons, we actually generate a voxel grid and use a heat diffusion type of technique to compute the vertex bone weights given a polygon mesh and bone hierarchy, so we already get the data for how to transform the inner voxels through that process. For something like morphs/tweens and lattice deformations, I'm thinking we can do a similar thing based on the proximity to the vertex that would normally be displaced with a similar kind of diffusion technique. There with weighted translation, avoiding gaps even from outer to inner neighboring voxels seems trickier than rotation, but something I'm thinking we can mitigate by tampering with weight distribution but possibly combining it with your stretch factor. Mostly I'm counting on optimizing and optimizing the SVDAG to achieve higher and higher resolutions and relying on the filled property and possibly some artist parameters to help mitigate any possibility of noticeable gaps since I find that a bit easier in our case, albeit a bit inelegant.

  • @sp4cerat
    @sp4cerat 2 года назад

    Looks good!

  • @keptleroymg6877
    @keptleroymg6877 2 года назад

    Damn 11 years ago.

  • @8alakai8
    @8alakai8 2 года назад

    the wobbler at 8:57 can be by holding on to much with your hands i had when i started riding on mothers bike sort same power as mt 07 if arms are stiff the movement of the front wheel what is normal will go to the back wheel and make the bike shake i did it to

  • @8alakai8
    @8alakai8 2 года назад

    i like to push when riding but this was just not good in same places and a mt 07 with no suspension mods you neet to know that the bike will wobble so be make shure the wobble is before the corner. i have a 2015 mt 07 so i sort knoow what the wobble is

    • @dennisrkb
      @dennisrkb 2 года назад

      Those wobbles were due to my giant windscreen which was directly attached to the handlebars. The wind turbulence induced the wobbling. I've since removed the screen and raised the forks by 5mm (the bike was too neutral, the front too light/wishy-washy from the factory). Never had speed wobbles again thereafter. I recommend raising the forks regardless of wobbles or not. It greatly improves the balance of the bike and its cornering ability^^. Ride on!

  • @8alakai8
    @8alakai8 2 года назад

    at 1:15 wy is the rider in front riding like that for that speed and lean angle you dont need to hang of i think they would take the corner better if they just stay neutrall when riding and focus more on how to take the corner

    • @dennisrkb
      @dennisrkb 2 года назад

      He's what we call a "Klarino" (show-off) in Greece^^. Reminds me of this guy: ruclips.net/video/L5KfYofxZZQ/видео.html Having said that, he improved a lot since then. Thx for watching^^.

  • @pa_maj.MARTINI-van-MAN
    @pa_maj.MARTINI-van-MAN 3 года назад

    Nice!

  • @r11hno
    @r11hno 3 года назад

    with a full 10:24 minute view as we always give full views for our friends NEW and old.

  • @r11hno
    @r11hno 3 года назад

    great presentation and information , like 6 with full support-stay connected

  • @dairin0d
    @dairin0d 3 года назад

    Um... Dennis, what's your opinion on using cage deformations for skeletal animations of voxel models? I.e., splitting the model into connected cubical or tetrahedral volumes of appropriate size (each with its own octree), and animating the vertices of the resulting "cage" using any of the traditional techniques? Terribly sorry if you've already seen this comment. I'm just not sure if my first attempt to post it was actually successful "^_^

    • @dennisrkb
      @dennisrkb 3 года назад

      I was eager to read your comment but couldn't. It only showed up in my feed but disappeared when I clicked on it. So I'm going straight from voxels to pixels in my work. What you describe would require converting voxels to meshes first (at least temporarily and potentially on the fly)--which sounds very doable especially with "new" technologies such as geometry shaders. But if you already got a mesh, why limit yourself to cage deformations? All the metadata necessary to create a proper mesh (including skeletal data) could be stored in the octree.. In fact this warrants a modern investigation: Could we use voxels only for modelling+intermediary storage and convert them to polygons on the fly at the exact LOD we need? Up for it?^^

    • @dairin0d
      @dairin0d 3 года назад

      @@dennisrkb I'm certainly not up for it, unfortunately xD But I think that converting voxels to meshes isn't necessarily required for cage deformations. I made a conceptual illustration ( imgur.com/D6BTcPt ) for a 2D case, but the same principles should apply to 3D too. In the illustration, at first we have the original model, and a (relatively) low-poly cage around it (A). The cage consists of connected volumes (or polygons, in the 2D case), which correspond to a particular slice of the model (B). When converting the model to voxels, we don't convert the whole model to a single octree, but rather transform each slice of the model into the un-deformed coordinate space of the corresponding volume, and create an octree in that space (C). As a result, we get a collection of separate octrees which, when deformed in the right way, match (up to octree resolution) the geometry of the original model (D). That way, we don't need to convert anything to meshes during the rendering, we only need to render a bunch of linearly (or trilinearly) deformed octrees. In this scheme, only the cage vertices have actual bone weights, whereas the voxels' positions are determined by their integer coordinates in the octree and the positions of the corresponding volume's vertices.

    • @dennisrkb
      @dennisrkb 3 года назад

      @@dairin0d Now I get you. That's definitely possible. My voxels have bone weights and are driven by skeletal animation. There is nothing in the way of storing 'cage weights' (or inferring them) instead and using cage transforms in their place. I don't see the need for separate octrees though. You can just apply the cage transform on the fly, as you're traversing your (global) octree. Am I missing something?

    • @dairin0d
      @dairin0d 3 года назад

      ​@@dennisrkb As far as I understand, applying the cage transform on the fly (during the traversal) would be very troublesome for the octree nodes that don't fall neatly into a single cage cell. I made another illustration ( imgur.com/7B4xjLq ) that, hopefully, demonstrates the problem. Let's assume that, at some finer level of detail, each voxel belongs to one particular cage cell. However, their parent would have to "belong" to every cage cell of its children, which significantly complicates the calculation of its position and bounding box. In principle, a similar problem exists for direct bone transformations as well. The method in your thesis just seems to sidestep it (at least, that's the impression I got) by skipping these calculations for all intermediate LOD levels and relying on moderate animations ;-)

    • @dennisrkb
      @dennisrkb 3 года назад

      @@dairin0d I see the problem now. Yeah originally I wanted to compute an accurate "stretch" factor but couldn't figure it out at that time.. Another idea that could avoid requiring multiple octrees would be to use a non-axis aligned tree, whose hierarchical structure closely follows the model (the skeleton of the character in your example), a kind of "content-aware" subdivision. Although you'd loose quite a few benefits of octrees this way.. so when can we expect ASVO 2.0 from you?^^

  • @philippbrogli779
    @philippbrogli779 3 года назад

    I'm relatively new to voxels. One thing I noticed is that people in the comment sections say it is difficult to create the models. Is that true? Let's assume I want to create a landscape with a forest on top of it. How would I go about creating it? Is there a blender-like tool out there?

    • @dennisrkb
      @dennisrkb 3 года назад

      The problem is that there is no standardized format for voxel models. So you'd have to write your own polygon mesh->voxel model conversion tool, after deciding on and specifying your own proprietary voxel format.

    • @philippbrogli779
      @philippbrogli779 3 года назад

      ​@@dennisrkb That would mean I create the landscape in blender, create plants in blender, put those plants wherever they belong and convert the finished product into voxel. Whenever I change something I need to change it in blender first and convert everything into voxels again. Is that order correct? Let's assume I have the skyrim map, how long would that take? A minute, an hour, a day? Obviously it depends on the converter, but I would love to hear a very rough guess. One idea which comes to mind is that if we have a forest with trees which can actually grow, it could switch the polygon treemodel when outside of the render distance and it could convert it in real-time from polygon to voxel when it renders the new chunk. Is that a realistic idea? Also if I create a voxel terrain which is changeable, there needs to be a converter from voxel to polygon again. But this one can take more time. Because it only needs to convert the changed chunks and it basically has all the time it needs. Are the ideas I stated here realistically implementable or are there other ways which you can get the same effect in a way more simple manner?

    • @dennisrkb
      @dennisrkb 3 года назад

      @@philippbrogli779 Or you could write a voxel-based game-engine (+ modelling tools) that can manipulate/render voxels directly without the need for conversions ;)

    • @philippbrogli779
      @philippbrogli779 3 года назад

      @@dennisrkb If I want to stand on a mountain and see the cows walking in the valley, with the trees rendering all the way to the horizon, which is better suited? Voxel or polygon? Would it make sense to make a polygon renderer for creatures and a voxel renderer for Plants and landscape? Or would it be better to focus all the energy in only one type of rendering?

    • @dennisrkb
      @dennisrkb 3 года назад

      @@philippbrogli779 You hit on a really great idea! Make a hybrid engine that uses voxels for static (not moving, but destructible) objects such as terrain which they are perfectly suited for, and use polygon meshes for foliage and other animated characters. Blend the two via the z-buffer. Also, before you jump into coding, have a look at "Mega Meshes" to see what's possible with on-the-fly mesh generation: ruclips.net/video/M04SMNkTx9E/видео.html

  • @Jkauppa
    @Jkauppa 3 года назад

    try combining gigatextured triangles to a sparse voxel octree framebuffer and draw everything with breadth first in the octree, or just simple raster all or just simple testing raycast

    • @Jkauppa
      @Jkauppa 3 года назад

      also source pixel cube map path tracing, and n^2 sphere cube map path tracing

  • @Jkauppa
    @Jkauppa 3 года назад

    you dont have to have boxy borders and surfaces, you can have a function determine if and how the surface is being hit, if you use functions as the surface representations, and the ocree as the ray-intersection resolving structure

  • @Jkauppa
    @Jkauppa 3 года назад

    have dynamic accelerated and created from source triangles to octree proxy representation, can be animated

    • @Jkauppa
      @Jkauppa 3 года назад

      you try to represent data storage in the octree, its not optimal

    • @Jkauppa
      @Jkauppa 3 года назад

      it should only be used as intermediate, temporary, dynamic

    • @Jkauppa
      @Jkauppa 3 года назад

      but it can be updated when needed, on demand

    • @Jkauppa
      @Jkauppa 3 года назад

      its like a 3d frame buffer

    • @Jkauppa
      @Jkauppa 3 года назад

      a palette of animated voxels is better, i mean pre-calculated animations, infusing models into the world

  • @Jkauppa
    @Jkauppa 3 года назад

    octree is an acceleration structure for a triangle source data

    • @Jkauppa
      @Jkauppa 3 года назад

      you then jump into the actual source data, through pointers

    • @Jkauppa
      @Jkauppa 3 года назад

      no problem when going really close

    • @Jkauppa
      @Jkauppa 3 года назад

      no need to throw detail out

    • @Jkauppa
      @Jkauppa 3 года назад

      you dont have to calculate the octree all the way down, you just need the intersection point with the geometry

    • @Jkauppa
      @Jkauppa 3 года назад

      its kinda cheating what planes and triangles to check in the ray tracing algorithm

  • @YYYValentine
    @YYYValentine 3 года назад

    So how the data structure looks like? It is not a 3D texture anymore? (Great work BTW!!)

    • @dennisrkb
      @dennisrkb 3 года назад

      It's a sparse octree stored in BFS order github.com/denniskb/asvo

    • @YYYValentine
      @YYYValentine 3 года назад

      @@dennisrkb I download your code, but VS says projects are incompatible, what do I miss? (I used VS only for .NET and Unity projects yet

    • @dennisrkb
      @dennisrkb 3 года назад

      @@YYYValentine It's best if you open an issue on GitHub ;)

  • @ineedtransformation
    @ineedtransformation 4 года назад

    Чувак, вернись пожалуйста к вокселям. У тебя же просто шикарно выходило

  • @CapnSlipp
    @CapnSlipp 4 года назад

    4:3 aspect ratio videos for the win. ;-D Not only full-sceen on iPad, but easier to watch on a 16:9/16:10 computer screen without consuming a whole screen (leaving room for a browser window, code editor, etc,)

  • @levipalafox
    @levipalafox 4 года назад

    Here because of the wax donation on Fstoppers you are awesome man.

    • @dennisrkb
      @dennisrkb 4 года назад

      lol can't wait myself! :)

  • @jncolligan1
    @jncolligan1 4 года назад

    I came here to see a modified MT 07!? where can i see that! :0) Your airbox removal looks awesome!

    • @dennisrkb
      @dennisrkb 4 года назад

      Hey mate I'm afraid I got barely any videos showing off my MT :( try this: ruclips.net/video/Usaha7sqObg/видео.html are you riding one yourself?

    • @jncolligan1
      @jncolligan1 4 года назад

      Yeah. I just finished a scrambler-like project on a 2019 bike(much like this ruclips.net/video/G2v_8FteFw8/видео.html with a few more weight saving mods. Plus a full system Termi and ECU flash. It’s now just an engine and a seat :) but I love the idea of removing the air box, just don’t know if I’ve got the testicular fortitude to go that far! Do you think you sucked much grit into the pistons with them that exposed? I love your blog on your MT. It’s like the Dead Sea scrolls! :). You’re leader in mods on this bike for sure!!!

  • @davidbobby7
    @davidbobby7 4 года назад

    Hello! where did you buy the motorcycle plastics?

    • @dennisrkb
      @dennisrkb 4 года назад

      those are chinese knock-offs from ebay, note that we painted the white/black parts ourselves!

  • @hymnsfordisco
    @hymnsfordisco 5 лет назад

    A voxel isn't necessarily a cube, though a regular grid will typically subdivide into cuboid volumes. So even if it is practically the most common and obvious case, maybe there are many breakthroughs to be made if we can imagine voxels in a higher level than just "cubes"

  • @ultraderek
    @ultraderek 5 лет назад

    Good stuff.

  • @edk.2045
    @edk.2045 5 лет назад

    You actually can rotate entire models (by model, I mean a tree) in world space. Rotating individual parts like limbs within a single model (in local space) get a bit tricky, however.

  • @volchonokilliR
    @volchonokilliR 5 лет назад

    Wow- you rock!

  • @6Twisted
    @6Twisted 6 лет назад

    I've come to look at what a 169kg MT-07 looks like. Have you done any more weight savings since? My ABS version is 175kg as I've only changed the exhaust, battery and swapped to aluminium bolts.

    • @dennisrkb
      @dennisrkb 6 лет назад

      Thx for reading my blog!!! I've since installed a 520 chain conversion kit with aluminum sprockets. Missed the opportunity to weigh them though :(, but should've saved another 2kg easily, if not more ;)

    • @6Twisted
      @6Twisted 6 лет назад

      @@dennisrkb Not just that but it's rotational and unsprung weight. Did you notice a big performance difference and how often have you needed to adjust the chain since swapping to a smaller one? My chain and sprockets are due for a change so I was going to swap to a steel/aluminium sprocket to save some weight without losing any lifetime.

    • @dennisrkb
      @dennisrkb 6 лет назад

      @@6Twisted due to the low weight, high seating position, and geometry of the bike (very front neutral, had to actually raise the forks by 5mm to make it turn in), it was already incredibly agile to begin with, so I would be lying if I say I noticed something. Perhaps you could've measures a split second faster acceleration 0-100 but nothing perceivable with your human senses. I installed a DID ZVM-X and didn't need to adjust it once in 5000km, so I guess I'm gonna opt for the "standard" VX version next time, save some weight and money.

  • @andrebautembach528
    @andrebautembach528 6 лет назад

    Mr. Kozak

  • @tfg_8564
    @tfg_8564 6 лет назад

    This was heavily used in DOOM(2016)

    • @dennisrkb
      @dennisrkb 6 лет назад

      I doubt that :P

    • @tfg_8564
      @tfg_8564 6 лет назад

      I think it was used for the environment and not the actual models though

  • @dudearlo
    @dudearlo 6 лет назад

    so let me get this straight.....each box has 8 children and each child has the potential to each have 8 children, and you just choose to render that generation or that child?

    • @dennisrkb
      @dennisrkb 6 лет назад

      You're approximating arbitrary shapes by sub-dividing the bounding cube around it evenly in 8 sub-cubes and you repeat this process recursively. After enough steps the voxels become sufficiently small to accurately approximate smooth surfaces even though they are cubical (the same way you can't make out individual polygons in a sufficiently high-resolution mesh - it appears smooth). For rendering, you start at the root node, and, as long as its too large to be displayed, you recurse into the children and so forth. Once the projected size of a voxel becomes ~1px you can stop traversing the tree and draw the voxel. Check out ruclips.net/video/fGMu5kDNKU8/видео.html

  • @maitlan
    @maitlan 7 лет назад

    Is it true that you can't rotate a Voxel? Can't you have several independent Octrees attached to the vertices of polygons?

  • @as12df12
    @as12df12 7 лет назад

    "Voxels are little cubes. Nothing more, nothing less". I can't believe you're starting off an "in-depth explaination" with something so blatantly factually wrong.

    • @dennisrkb
      @dennisrkb 7 лет назад

      Hey as12 this is a simplified version of my thesis work tailored to non-technical people.

    • @as12df12
      @as12df12 7 лет назад

      Okay, but I would still argue that spreading simplifications that lead to pervasive and hard-to-get-rid-of misconceptions is not a good thing. At the very least, instead of claiming "nothing more, nothing less" you could have said something along the lines of "actually it's more complicated than that, but this notion will do for our purposes". Just saying...

    • @lukaszsawicki9441
      @lukaszsawicki9441 4 года назад

      @@dennisrkb I think to that you should correct this video.

  • @johnsherfey3675
    @johnsherfey3675 8 лет назад

    Question why can't I just have the octree Interpolate between two similar but diffrent octrees?

    • @Xeloboyo
      @Xeloboyo 7 лет назад

      ?

    • @edk.2045
      @edk.2045 6 лет назад

      For animation? You can, but if you want a fully destructible game, including destructible people, then the solution he mentions is better.

  • @Zudomon
    @Zudomon 8 лет назад

    Voxels vs polygons are like bitmap vs vector. How can it be memory efficient, when this is the most limited factor? If you take the 2d star example. How many bits do you need to save such a shape as vector graphic? You can't have unlimited detail, because you have not unlimited memory... and even if you save only the surface by LTC or SVO, you need the memory for the surface. So double the resolution will quad to oct your memory. I am still not sure, wether voxels are the future, like some genius predict us. I am excited how much memory a Quake 3 level would take, if you use voxels instead of polygons in atomontage resolution.

    • @dennisrkb
      @dennisrkb 8 лет назад

      Depends on the topography of your object. Flat surfaces can be represented more efficiently with polygons. 3D, non-parametric fractals can be represented more efficiently (memory-wise) with voxels.

    • @Zudomon
      @Zudomon 8 лет назад

      Okay, that's right... but in most non fractal cases the voxels should use more memory. You talked about foliage in the last video, but you show a polygon scene. So do you know any voxel foliage? I can't imagine that, because a grass blade or leaf must be very detailed for that.

    • @johnsherfey3675
      @johnsherfey3675 8 лет назад

      Zudomon Jon Olick does euclideon better.

    • @Bestmann3n
      @Bestmann3n 7 лет назад

      have fun deforming and animating models made of voxels...

  • @void_chicken
    @void_chicken 8 лет назад

    Couldn't you just use multiple octrees and rotate them by raymarching on a distance field?

  • @YYYValentine
    @YYYValentine 8 лет назад

    Hi! How do you render the voxels? Are those raycasted, or made by tiny triangles? Thanks!

    • @dennisrkb
      @dennisrkb 8 лет назад

      A custom rasterizer in CUDA with similarities to QSplat

  • @MrBratkenSolov
    @MrBratkenSolov 8 лет назад

    This is great. Didn't know it's possible. P.S: i wanna punch every person who says "OMFG!!!!!! have you seen Euclidean?". Ye, i've seen. Total bullshit.

  • @descai10
    @descai10 9 лет назад

    For those wondering, this is what is used to make AtomontageEngine (obvious since featured in this video ) and euclideon possible.

  • @YYYValentine
    @YYYValentine 9 лет назад

    You determine the center point of every voxel. Does it mean, that it is rather a pointcloud then? Becouse you need the position of the voxels individually? Thanks!

  • @amineroula
    @amineroula 9 лет назад

    Thank you very much for sharing your knowledge with us :)

  • @BasilHorizon
    @BasilHorizon 10 лет назад

    I woner what happens if you will try to capture a mirror. :D

  • @pippettoerparaculo4374
    @pippettoerparaculo4374 10 лет назад

    I want a voxel animation software now!

    • @pippettoerparaculo4374
      @pippettoerparaculo4374 8 лет назад

      ***** No!

    • @pippettoerparaculo4374
      @pippettoerparaculo4374 8 лет назад

      ***** I'll have one for christmas, you're just jealous

    • @johnsherfey3675
      @johnsherfey3675 8 лет назад

      Anton Zuykov you want to hear a cooler story? Make a paper / presudocode for it and I will make a render to blow your socks off. >:p