Lukas Orsvärn
![Portrait of Lukas Orsvärn](/lukas_orsvarn_hub1a79381ecfdb29309a549c27450113c_398386_103x0_resize_q90_box.jpg)
Welcome to my website! I blog about technical art, and other topics that interest me.
I'm a technical artist at Thunderful Malmö since 2023. I worked as a generalist at Wolfire Games from 2017 to 2023.
Feel free to email me if you have any questions or comments, I'm always happy to answer!
![](/bouncing-emails/images/cover_hu9b8fe41438df949649238a0c1bd8c598_37969_300x200_fill_q100_box_center_3.png)
Fix Bouncing Emails
SPF, DKIM & DMARC
![](/video/smooth-normals_hu92c6d9ba8c5be2085dc33da1f48e02c6_37128_300x200_fill_q100_box_center.jpg)
Smooth Low Poly Style
![](/self-hosting-video/images/cover_huba11c164d42e6955d6ef28e074924ac9_73064_300x200_fill_q100_box_center.jpg)
Self Hosting Video
The scrappy way
![](/video/street-smoke_hu21408e8eb33016a64befcaf38764c452_38541_300x200_fill_q100_box_center.jpg)
Street Smoke
![](/weather-making-of/images/cover_hub09d3f010363d7150224b7034fff3e0e_1157643_300x200_fill_q100_box_center.jpg)
Making a Custom Weather System
For the tabletop RPG Forbidden Lands
![](/weather/images/cover_huaf5a42e8112df8585dd9915192cdbee1_1110879_300x200_fill_q100_box_center.jpg)
Believable Weather for Forbidden Lands
Based on Swedish weather data
![](/rss-page/images/cover_hu202ba0c9231ffe8209559066c38c211f_301317_300x200_fill_q100_box_center_3.png)
Really Simple Syndication
Your inbox for the Internet
![](/simple-website-ci/images/cover_hue90d5d3008e462c39886010455c78c7b_32884_300x200_fill_q100_box_center_3.png)
Simple Website CI
Continuous integration using only a Git hook
![](/uv-blend/images/cover_hu759268d80893fd4bfeebcd3de3625162_61135_300x200_fill_q100_box_center.jpg)
Taped UV Seams
Impossibly seamless unwraps
![](/vismut-0-6/images/cover_huc0fb8b21d414fa0e42855973382f11e2_120401_300x200_fill_q100_box_center_3.png)
Vismut 0.6
Laying the groundwork
![](/vismut-architecture/images/cover_hudcd53b77d03745cf6beb6ee02724c357_65039_300x200_fill_q100_box_center_3.png)
Vismut Core Rewritten
A brand new backend
![](/introducing-vismut/images/cover_hue228c8be92939cf528bbd33109b5b17c_97612_300x200_fill_q100_box_center_3.png)
Introducing Vismut
Procedural texturing tool
![](/receiver-2/images/cover_huded331dc96746a369f27e4b966e82d40_49487_300x200_fill_q100_box_center.jpg)
Receiver 2
100% gun mechanic realism
![](/overgrowth/images/cover_hu739f3f9d42ff9514612cdbc69174dbd2_21696_300x200_fill_q100_box_center.jpg)
Overgrowth
Become an acrobatic ninja rabbit!
![](/binding-of-souls/images/cover_hu675830ec8c5da8974fbf16ed29fc6109_37000_300x200_fill_q100_box_center.jpg)
Binding of Souls
Dark Souls meets Binding of Isaac
![](/cell/images/cover_hu008740f4100ccb1eb127345232c5308d_44871_300x200_fill_q100_box_center.jpg)
Cell
Fast paced arena shooter
![](/pbr-shader/images/cover_hu008740f4100ccb1eb127345232c5308d_23824_300x200_fill_q100_box_center.jpg)
PBR Shader
Physically based HLSL shader
![](/channel-shuffle/images/cover_hu008740f4100ccb1eb127345232c5308d_24651_300x200_fill_q100_box_center.jpg)
Channel Shuffle
Swap, flip and mix channels from two different images with ease
![](/claiming-ymir/images/cover_hu008740f4100ccb1eb127345232c5308d_46531_300x200_fill_q100_box_center.jpg)
Claiming Ymir
Vikings and blood!
![](/galaxia/images/cover_hu008740f4100ccb1eb127345232c5308d_39458_300x200_fill_q100_box_center.jpg)
Galaxia
Spaceship dogfighting and asteroids!
![](/kravall/images/cover_hu008740f4100ccb1eb127345232c5308d_25967_300x200_fill_q100_box_center.jpg)
Kravall
Organize your riot police force to control massive amounts of rioters
![](/bachelor-thesis/images/cover_hu008740f4100ccb1eb127345232c5308d_28302_300x200_fill_q100_box_center.jpg)
Spotlights for Global Illumination
How well can GI be approximated with parametric lights?
![](/semest/images/cover_hu008740f4100ccb1eb127345232c5308d_25769_300x200_fill_q100_box_center.jpg)
Semest
A heavy burden to bear