Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411594 Posts in 69387 Topics- by 58444 Members - Latest Member: YomiKu_0

May 08, 2024, 03:48:39 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)The happy programmer room
Pages: 1 ... 258 259 [260] 261 262 ... 279
Print
Author Topic: The happy programmer room  (Read 679509 times)
oahda
Level 10
*****



View Profile
« Reply #5180 on: November 27, 2017, 04:06:02 AM »

You have to use the full youtube.com link for the embed to work. Tongue Cool! What's that constantly flickering over the screen tho?

Whoops, edited, thanks.

If you mean the cloth sometimes just jumping off, that's what I meant with the jumping - hoping that's due to the integration not being able to cope with the picking / turning sphere movement on and off. Although I should probably look into the latter again.
Huh… Last time I watched there was a different program flickering over your render window, so I thought your recording was borked, but I watched again now and it's gone. So the issue was on my end. Shocked
Logged

JWki
Level 4
****


View Profile
« Reply #5181 on: November 27, 2017, 04:58:18 AM »

You have to use the full youtube.com link for the embed to work. Tongue Cool! What's that constantly flickering over the screen tho?

Whoops, edited, thanks.

If you mean the cloth sometimes just jumping off, that's what I meant with the jumping - hoping that's due to the integration not being able to cope with the picking / turning sphere movement on and off. Although I should probably look into the latter again.
Huh… Last time I watched there was a different program flickering over your render window, so I thought your recording was borked, but I watched again now and it's gone. So the issue was on my end. Shocked

Hmmm hahaha that's weird! Maybe youtube fucked up somehow, who knows.
Anyhow seeing how simple this was to get up and running in a somewhat acceptable fashion, already looking forward to outfit all my renderer test scenes from now on with banners and shit.
Logged
oahda
Level 10
*****



View Profile
« Reply #5182 on: November 27, 2017, 05:15:40 AM »

Is it very (CPU? GPU?) intensive? Also what's that environment? The UI doesn't look like ImGui to me.
Logged

JWki
Level 4
****


View Profile
« Reply #5183 on: November 27, 2017, 06:21:23 AM »

Is it very (CPU? GPU?) intensive? Also what's that environment? The UI doesn't look like ImGui to me.

Runs on the CPU and at that resolution is not too intensive I don't think, I haven't done any profiling. This is an uni assignment so using the framework they provide (the UI is AntTweakBar, rendering is OpenGL).
AntTweakBar seems to be pretty popular in academics, I was provided with a similiar framework for a different class for a more long-term project (fluid simulation) but we threw away the framework for that one and replaced it with custom GL and dear imgui haha.
Logged
oahda
Level 10
*****



View Profile
« Reply #5184 on: November 27, 2017, 06:24:06 AM »

Sounds like a cool university curriculum/course! What's it called?
Logged

JWki
Level 4
****


View Profile
« Reply #5185 on: November 27, 2017, 06:52:42 AM »

Sounds like a cool university curriculum/course! What's it called?

This one is called real time graphics, mainly sets up a bit of architectural knowledge (common design patterns in games, pretty basic stuff like main loops, etc), some basic physics simulation stuff like this (and rigidbodies, deformables) and then should delve into some rendering things using OpenGL basically, covering how PBR, different light indexing algorithms etc work in practice.
Logged
popawheelie
Level 0
***


View Profile
« Reply #5186 on: November 27, 2017, 07:15:06 AM »

Always like cool cloth sims.  Beer!

Just out of interest, do they teach real time destruction? And if they do, to what extent?
Logged

JWki
Level 4
****


View Profile
« Reply #5187 on: November 27, 2017, 07:38:47 AM »

Always like cool cloth sims.  Beer!

Just out of interest, do they teach real time destruction? And if they do, to what extent?

They teach the theory for that in a different set of classes but not in this one specifically.

Logged
ferreiradaselva
Level 3
***



View Profile
« Reply #5188 on: November 27, 2017, 03:43:28 PM »

Did my first basic cloth sim for an assignment in uni, I think I got it to work as well as intended within the given framework.
There's some extreme jumps in the video that I'm just going to attribute to the super basic explicit euler integration that was already provided so none of my business.






Woah... you know those satisfying videos... that.

Edit:

The implementation of the X11 backend in my window framework is almost done. Most window operations are done and keyboard and mouse input are working. Wayland still needs some work on input and some window operations. Both have already OpenGL support.

Something that occurred to me. Not every game developer, especially small developers, add support for game controller or use tablet input, so I thought I should make these disableable during compilation-time. Using some macros, yknow (SWFW_NO_GAME_CONTROLLER, SWFW_NO_TABLET).
« Last Edit: November 27, 2017, 10:34:44 PM by ferreiradaselva » Logged

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #5189 on: November 28, 2017, 08:18:46 AM »

A followup to the animation I posted a bit ago... I added a function to my armature code that can generate a debug mesh to show all of the bones on their own. Should be useful for debugging animations and seeing the structure underneath. In my test application, I can toggle between this and the skinned representation, and they both animate the same way:



This is going to be pretty cool once I get model loading implemented!
Logged

oahda
Level 10
*****



View Profile
« Reply #5190 on: November 28, 2017, 08:38:09 AM »

Do ask if you plan on using glTF and have any troubles since I've gotten that working lately, including animations. Coffee
Logged

ferreiradaselva
Level 3
***



View Profile
« Reply #5191 on: November 28, 2017, 09:00:37 AM »

Btw, is the pose processed on GPU or client-side?
Logged

popawheelie
Level 0
***


View Profile
« Reply #5192 on: November 28, 2017, 09:06:09 AM »

I could use a general purpose TIFF read/writer that has no dependencies. I'm using libTIFF, but it unfortunately has an unload issue that's been causing headaches.
« Last Edit: November 28, 2017, 01:31:32 PM by popawheelie » Logged

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #5193 on: November 28, 2017, 09:57:15 AM »

Do ask if you plan on using glTF and have any troubles since I've gotten that working lately, including animations. Coffee

Cool, will do. I've read through the glTF spec, and while I think it should be possible to get it to work for what I'm doing, it does seem pretty hefty. It's tempting to just skip it and write my own Blender exporter for a custom format, but I'll at least see how far I can get with glTF first.

Btw, is the pose processed on GPU or client-side?

This was a fun one to figure out. The pose is done on the CPU, and the skinning is done in the vertex shader. I have an Armature class that stores the bones in their default state; an Animation class that stores keyframes, intervals, and curves; and an AnimationState class that represents the intersection of the two, with a computed frame of a pose. When drawing, I call a function in Animation that calculates a matrix for each bone in the mesh's AnimationState, then I pass those into the vertex shader as a mat4 uniform array. My mesh data comes with vertex attributes for bone ID (which is just an index into the matrix array), and bone weight, up to 4 per vertex.

The process of computing a pose for a given frame has a lot more complicated logic than I would have expected. Doing it on the GPU would be a challenge, though certainly possible if I restructured my data a bit. I'm not planning on drawing hundreds of animated characters at once, so it feels like it should be efficient enough for my needs as it is. I guess I'll find out once I start drawing more complicated models.
Logged

oahda
Level 10
*****



View Profile
« Reply #5194 on: November 28, 2017, 10:46:18 AM »

Do ask if you plan on using glTF and have any troubles since I've gotten that working lately, including animations. Coffee

Cool, will do. I've read through the glTF spec, and while I think it should be possible to get it to work for what I'm doing, it does seem pretty hefty. It's tempting to just skip it and write my own Blender exporter for a custom format, but I'll at least see how far I can get with glTF first.
Cool! Realise I didn't specify so in case it was ambiguous: glTF 2.0. Tongue
Logged

ferreiradaselva
Level 3
***



View Profile
« Reply #5195 on: November 28, 2017, 11:03:25 AM »

This was a fun one to figure out. The pose is done on the CPU, and the skinning is done in the vertex shader. I have an Armature class that stores the bones in their default state; an Animation class that stores keyframes, intervals, and curves; and an AnimationState class that represents the intersection of the two, with a computed frame of a pose. When drawing, I call a function in Animation that calculates a matrix for each bone in the mesh's AnimationState, then I pass those into the vertex shader as a mat4 uniform array. My mesh data comes with vertex attributes for bone ID (which is just an index into the matrix array), and bone weight, up to 4 per vertex.

The process of computing a pose for a given frame has a lot more complicated logic than I would have expected. Doing it on the GPU would be a challenge, though certainly possible if I restructured my data a bit. I'm not planning on drawing hundreds of animated characters at once, so it feels like it should be efficient enough for my needs as it is. I guess I'll find out once I start drawing more complicated models.

I've seen people making on GPU-side, but I would do the same way you are doing. Simple and it works. I suspect doing it on GPU-side would require passing too many data to the GPU.
Logged

qMopey
Level 6
*


View Profile WWW
« Reply #5196 on: November 28, 2017, 01:04:47 PM »

I could use a general purpose TIFF read/writer that has no dependencies. While SDL can do this, it depends on libTIFF. Unfortunately that dll won't always unload causing headaches.

Why tiff? Last AAA game I worked on used a million tiffs, but I couldn't figure out why that file format was chosen over others. Any insights?
Logged
qMopey
Level 6
*


View Profile WWW
« Reply #5197 on: November 28, 2017, 01:15:01 PM »

Did my first basic cloth sim for an assignment in uni, I think I got it to work as well as intended within the given framework.
There's some extreme jumps in the video that I'm just going to attribute to the super basic explicit euler integration that was already provided so none of my business.






Pretty nice effect! What kind of cloth solver are you using? Looks like you might be using Jakobsen style solver: https://www.gamasutra.com/view/feature/131313/advanced_character_physics.php

I see some stretching on the corner vertices. What integration is this? Symplectic euler?

Nice ant tweak bar there Tongue A lot of older uni courses use ant tweak bar. For a while it was sort of the "go to" for getting in debug UI really quickly, before Dear imgui was a thing.
Logged
ferreiradaselva
Level 3
***



View Profile
« Reply #5198 on: November 28, 2017, 01:18:23 PM »

Afaik, TIFF supports subimages (you can obviously see why this part is very attractive for game developers) and you can add tags. I've never used, tho (always felt like an obscure format to me).
Logged

popawheelie
Level 0
***


View Profile
« Reply #5199 on: November 28, 2017, 01:29:39 PM »

I could use a general purpose TIFF read/writer that has no dependencies. While SDL can do this, it depends on libTIFF. Unfortunately that dll won't always unload causing headaches.

Why tiff? Last AAA game I worked on used a million tiffs, but I couldn't figure out why that file format was chosen over others. Any insights?

No reason really. PNG would be fine too. I need a format that can handle 16 bits per channel, and LibTIFF is capable of that. It just has that damn unload issue.
« Last Edit: November 28, 2017, 01:47:25 PM by popawheelie » Logged

Pages: 1 ... 258 259 [260] 261 262 ... 279
Print
Jump to:  

Theme orange-lt created by panic