New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GPU jobs for generating gas giant textures. #3719
GPU jobs for generating gas giant textures. #3719
Conversation
I was going to try this, but ended up in libpng 1.2 v.s. libpng 1.6 hell (also on my master), and threw in my towel. Sorry, but I feel I don't have much energy left in me nowadays. |
Oh, I was gonna try and reboot on my Linux partition tonight to update my resume, I'll try this while I'm at it. And for good measure, i'll even try to understand the code (and will probably fail) |
GasGiant.o: In function Ooooops ;-) |
… shaders compiled. Add in a workaround for AMD R600 GPUs using MESA failing to compile shaders - use the DisableEclipse config flag as indicator. Pack the data into the top 16-bits of the MaterialDescriptor::quality member.
@laarmen have you got everything? I updated the makefiles and it works on two Linux installations here. Not sure what's different that would stop yours from working. |
…nto gpu-gas-giant-textures
|
Maybe a screenshot to demonstrate what isn't working properly? |
…nto gpu-gas-giant-textures
… use it as a flag.
Ok the nightmare is that this works when generating the texture, but won't render if you have the eclipse code enabled... |
@laarmen are you still having those builds problems? |
@walterar which one do you mean is ugly? I was trying to make them look more like the real planets. |
Compiles fine. Asking for a seed twice, with
I assume this is due to the debug just being temporary hack? But seems to work when enabled, although sluggish during first 3-4 seconds. Merge whenever you're happy. |
I haven't been able to get that assert, how did you do it? |
Well, I had the GPU-jobs disabled (from before) in my config, started pioneer, and did exactly what you suggested in your top post, then looked at the gas giant (I might have rotated it a bit with my mouse? If that is possible?), pressed new seed -> then random seed -> crash. Second time I tried it, I though asking for random seed caused crash, so did same as above, but instead asked for random seed, which worked first time, but then second time it crashed. Or that's how I remember it. |
I saw that this doesn't work on R600 (blank untextured plantes) unless I set AMD_MESA_HACKS=1 in config.ini Should I add an entry to the FAQ about this? |
@Tichy Please do. |
With a bit of explaination from fluffyfreak initial post. |
Thanks @Tichy :) |
This adds new source files that cause XCode to stop working. |
@impaktor yup I'm still with you guys, and following the discussions, even though my job workload is getting out of control 😄 I will pull the latest version and check the Xcode as soon as I can. |
Hey I got it working for OSX! I submitted a pull request. |
What is it?
This is some tech' I wrote a while ago that generates the texture map used by the gas giants on the GPU. It's a little rough right now but I hope to improve it as time goes by and to use the GPU jobs for other things.
Testing:
The new GPU jobs are enabled by default, they can be deactivated by replacing the line
EnableGPUJobs=1
withEnableGPUJobs=0
in theconfig.ini
file.Then ingame pick the Earth based starting location and once it's loaded you use the
F2
->F7
->Click a Gas Giant
->Ctrl+F10
to view one of the giants in the object viewer.Linux:
As usual the problem is the open source GPU drivers similar to #2176, this is why you can't have nice things :P on AMD Radeon chipsets using the R600 gallium drivers the shader fails to compile.
There is now a workaround in place that uses less noise octaves. This produces less detailed texture maps for the gas/ice giants but they still look good and at least the program runs.
Andy