The MASM Forum

Projects => Game Development => Topic started by: LiaoMi on January 29, 2020, 06:54:30 AM

Title: Black Hole
Post by: LiaoMi on January 29, 2020, 06:54:30 AM
Hi,

I got the idea to make a visual effect of a moving black hole. Here's how it should all look, with the ability to flow slowly ..
(https://user-images.githubusercontent.com/831538/40886364-ba1fcdc6-6736-11e8-95f7-b67e0a1be505.jpg)

Here you can see the principle of geometrization, Accretion disk - https://www.slashgear.com/wp-content/uploads/2015/02/warp.jpg (https://www.slashgear.com/wp-content/uploads/2015/02/warp.jpg) - https://blogs.futura-sciences.com/e-luminet/wp-content/uploads/sites/11/2019/06/Viergutz-Fig10.jpg (https://blogs.futura-sciences.com/e-luminet/wp-content/uploads/sites/11/2019/06/Viergutz-Fig10.jpg)
I found a couple of articles, there are many formulas, it looks promising  :biggrin:

(https://www.codeproject.com/KB/graphics/994466/render_05020_article.jpg)

Ray Tracing a Black Hole in C#
https://www.codeproject.com/Articles/994466/Ray-Tracing-a-Black-Hole-in-Csharp (https://www.codeproject.com/Articles/994466/Ray-Tracing-a-Black-Hole-in-Csharp)

But I think this is not quite right, as the implementation complexity is too high. I found another implementation, observatoryBlackHoleShader - https://github.com/KihangPark/observatoryBlackHoleShader (https://github.com/KihangPark/observatoryBlackHoleShader)

(https://github.com/KihangPark/observatoryBlackHoleShader/raw/master/docs/images/BlackHole.jpeg)
"This shader can generate the light bending effect when the light ray past the gravity field. Main purpose of this shader is creating black hold effect." This method is more or less ... is it possible to make a double crown ?!

(https://camo.githubusercontent.com/a38c3196acccdd3bd397f06d3906c56ac7918099/68747470733a2f2f7468756d62732e6766796361742e636f6d2f556e6865616c746879496d6d6174657269616c4164616d7373746167686f726e6564626565746c652d73697a655f726573747269637465642e676966)
https://github.com/Louqou/BlackHoleParticleSystem (https://github.com/Louqou/BlackHoleParticleSystem)
Another beautiful implementation ..

I would like to draw the geometry with simple lines, and then make an imitation of motion through the blur effect, here is my question, is it possible to do something similar as in the picture below and not using sophisticated graphical tools like openGL ?!
https://static1.bigstockphoto.com/2/8/2/large1500/282281023.jpg (https://static1.bigstockphoto.com/2/8/2/large1500/282281023.jpg)
Title: Re: Black Hole
Post by: Siekmanski on January 29, 2020, 07:39:41 AM
Yeah, it can be done in software, you have to create all the math functions with the FPU, but it would be very slow.
It's "easier" to do it with a pixel shader, the shader-compiler provides many of the math functions . You get much faster frame rates.
Title: Re: Black Hole
Post by: daydreamer on January 29, 2020, 08:02:01 AM
Quote from: Siekmanski on January 29, 2020, 07:39:41 AM
Yeah, it can be done in software, you have to create all the math functions with the FPU, but it would be very slow.
It's "easier" to do it with a pixel shader, the shader-compiler provides many of the math functions . You get much faster frame rates.
closest thing I seen here is strange attractor,but it crude pixel plot compared to goodlooking pixelshader,that also handles color channel ARGB with floats and can use all kind of hardware filters make it look much better

Title: Re: Black Hole
Post by: LiaoMi on February 03, 2020, 10:51:13 PM
Quote from: Siekmanski on January 29, 2020, 07:39:41 AM
Yeah, it can be done in software, you have to create all the math functions with the FPU, but it would be very slow.
It's "easier" to do it with a pixel shader, the shader-compiler provides many of the math functions . You get much faster frame rates.

Hi Siekmanski,

thank you  :thumbsup:, I'll go in "pixel shader" direction  :thup:
Title: Re: Black Hole
Post by: Siekmanski on February 04, 2020, 02:43:51 AM
Quote from: LiaoMi on February 03, 2020, 10:51:13 PM
Hi Siekmanski,

thank you  :thumbsup:, I'll go in "pixel shader" direction  :thup:

Hi LiaoMi,

For more info, check out this topic: Fun with Pixel Shaders and maths
http://masm32.com/board/index.php?topic=6904.0
Title: Re: Black Hole
Post by: LiaoMi on February 04, 2020, 11:44:36 PM
Quote from: Siekmanski on February 04, 2020, 02:43:51 AM
Quote from: LiaoMi on February 03, 2020, 10:51:13 PM
Hi Siekmanski,

thank you  :thumbsup:, I'll go in "pixel shader" direction  :thup:

Hi LiaoMi,

For more info, check out this topic: Fun with Pixel Shaders and maths
http://masm32.com/board/index.php?topic=6904.0

:thup: :thup: :thup: :thup: Hi Siekmanski,

I rediscovered this topic  :biggrin:, a lot of useful information, I found similar examples on the site - https://www.shadertoy.com/, here are a couple of them - https://www.shadertoy.com/view/lstSRS  (https://www.shadertoy.com/view/lstSRS) and https://www.shadertoy.com/view/Xsc3RH (https://www.shadertoy.com/view/Xsc3RH), very beautiful work  :dazzled:
Title: Re: Black Hole
Post by: HSE on February 05, 2020, 01:49:53 AM
Quote from: LiaoMi on January 29, 2020, 06:54:30 AM
... a visual effect of a moving black hole.

Just in case, You can ask Gunther and Raistlin how to make a "real" black hole  :biggrin: :biggrin:

(for comparative porpose, of course ...)
Title: Re: Black Hole
Post by: LiaoMi on February 05, 2020, 03:34:59 AM
Quote from: HSE on February 05, 2020, 01:49:53 AM
Quote from: LiaoMi on January 29, 2020, 06:54:30 AM
... a visual effect of a moving black hole.

Just in case, You can ask Gunther and Raistlin how to make a "real" black hole  :biggrin: :biggrin:

(for comparative porpose, of course ...)

Hi HSE,

:biggrin: :biggrin: I can ask, provided that it does not become too "real" ..
Title: Re: Black Hole
Post by: hutch-- on August 08, 2020, 06:31:34 AM
This is the NASA image of a black hole. I have a sneaking suspicion that using image data would be the best way to represent a black hole.

(https://www.nasa.gov/sites/default/files/styles/full_width/public/thumbnails/image/20190410-78m-4000x2330.jpg?itok=8mm_ogx6)