<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk" -->

---
title: Rendering pretty sky in Around The World game | daily.dev
description: A game developer refines the sky, clouds, and atmosphere rendering for an exploration game built in Godot. Key fixes include writing a custom Monte Carlo ray...
canonical: https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Rendering pretty sky in Around The World game | daily.dev
og:description: A game developer refines the sky, clouds, and atmosphere rendering for an exploration game built in Godot. Key fixes include writing a custom Monte Carlo ray...
og:url: https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk
og:image: https://api.daily.dev/og/posts/QfjxyBTBK.png
og:image:alt: Rendering pretty sky in Around The World game
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rendering pretty sky in Around The World game

**[Hacker News](https://daily.dev/sources/hn)** · 8 min read · 0 upvotes · 0 comments

## Summary

A game developer refines the sky, clouds, and atmosphere rendering for an exploration game built in Godot. Key fixes include writing a custom Monte Carlo ray tracer in Rust to prove povray lacks multiple light scattering, tweaking cloud surface normals to pick up blue indirect sky light for more realistic sunset colors, reordering atmospheric scattering operations to fix an unnaturally yellow horizon, applying a horizon-bending hack to hide a dark band caused by the game's smaller-than-Earth planet, tuning Godot's Filmic tone mapper for HDR-to-LDR conversion, and building an in-engine orrery to simulate realistic sun and moon positions for a day-night cycle.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://frozenfractal.com/blog/2026/10/12/around-the-world-34-a-pretty-sky>

## Questions this post answers

### why does my raymarched atmospheric scattering shader make the sky look yellow even with the sun overhead

The yellow tint comes from applying too much outscattering relative to inscattering during the ray march. Reversing the order of operations so outscattering attenuation happens before adding inscattered light, rather than after, reduces the excess attenuation and produces a more natural-looking sky color near the horizon.

_daily.dev surfaces shader debugging fixes like this for developers tuning their own sky renderers._

### does povray simulate multiple light scattering in clouds

No, povray does not simulate multiple scattering in clouds, despite extensive tweaking of samples and intervals. This was confirmed by writing a custom multithreaded recursive Monte Carlo ray tracer in a few hundred lines of Rust that modeled a single spherical cloud of uniform density, showing a much more uniformly lit result than povray's lookup table produced.

_developers weighing renderer limitations for volumetric lighting can find comparisons like this on daily.dev._

### how do I fix a dark band at the horizon when rendering a planet much smaller than Earth with a realistic sky shader

Add a small value to the y component of the global view vector and re-normalize it before sampling the sky shader. This pulls the entire sky downward, most strongly near the horizon, which hides the dark band that appears when atmospheric parameters tuned for Earth's size don't match a smaller, more sharply curved planet.

_daily.dev helps developers building planetary sky shaders track practical fixes like horizon bending._

## Similar posts on daily.dev

- [On Rendering the Sky, Sunsets, and Planets](https://daily.dev/posts/on-rendering-the-sky-sunsets-and-planets-d0iudopxi) · Hacker News · 0 upvotes · 0 comments
- [Building a game in 30 days with Godot](https://daily.dev/posts/building-a-game-in-30-days-with-godot-r3tdt474s) · Game Developer · 67 upvotes · 5 comments
- [Incredible Recreation of Half-Life 2's Citadel Core in Godot](https://daily.dev/posts/incredible-recreation-of-half-life-2-s-citadel-core-in-godot-ltu9yn1do) · 80 LEVEL · 0 upvotes · 0 comments
- [Godot 4.7 Making Progress On Vulkan Ray-Tracing](https://daily.dev/posts/godot-4-7-making-progress-on-vulkan-ray-tracing-krrx6qjb1) · Phoronix · 0 upvotes · 0 comments

---

Tags: [#game-development](https://daily.dev/tags/game-development), [#rust](https://daily.dev/tags/rust), [#godot](https://daily.dev/tags/godot)

[View this post on daily.dev](https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Rendering pretty sky in Around The World game","url":"https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk"},"datePublished":"2026-10-17T16:31:19.329Z","dateModified":"2026-10-17T16:31:44.683Z","description":"A game developer refines the sky, clouds, and atmosphere rendering for an exploration game built in Godot. Key fixes include writing a custom Monte Carlo ray...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/50d02977b350a08ee3cf6f76586ab4c6?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/50d02977b350a08ee3cf6f76586ab4c6?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"game-development,rust,godot","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"Rendering pretty sky in Around The World game"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/rendering-pretty-sky-in-around-the-world-game-qfjxybtbk#faq","mainEntity":[{"@type":"Question","name":"why does my raymarched atmospheric scattering shader make the sky look yellow even with the sun overhead","acceptedAnswer":{"@type":"Answer","text":"The yellow tint comes from applying too much outscattering relative to inscattering during the ray march. Reversing the order of operations so outscattering attenuation happens before adding inscattered light, rather than after, reduces the excess attenuation and produces a more natural-looking sky color near the horizon. daily.dev surfaces shader debugging fixes like this for developers tuning their own sky renderers."}},{"@type":"Question","name":"does povray simulate multiple light scattering in clouds","acceptedAnswer":{"@type":"Answer","text":"No, povray does not simulate multiple scattering in clouds, despite extensive tweaking of samples and intervals. This was confirmed by writing a custom multithreaded recursive Monte Carlo ray tracer in a few hundred lines of Rust that modeled a single spherical cloud of uniform density, showing a much more uniformly lit result than povray's lookup table produced. developers weighing renderer limitations for volumetric lighting can find comparisons like this on daily.dev."}},{"@type":"Question","name":"how do I fix a dark band at the horizon when rendering a planet much smaller than Earth with a realistic sky shader","acceptedAnswer":{"@type":"Answer","text":"Add a small value to the y component of the global view vector and re-normalize it before sampling the sky shader. This pulls the entire sky downward, most strongly near the horizon, which hides the dark band that appears when atmospheric parameters tuned for Earth's size don't match a smaller, more sharply curved planet. daily.dev helps developers building planetary sky shaders track practical fixes like horizon bending."}}]}
```

