Urgent.News

What's breaking now, across thousands of outlets.

Tech

Normal Maps Without Extra Geometry: A Practical Texture Workflow

A normal map adds surface detail by changing how lighting responds to a surface, without changing the mesh silhouette. It stores surface directions as color values, which a material uses when calculating light. That makes normal maps useful for fine texture detail; larger shapes that change an object’s outline still belong in the geometry. A practical workflow Start with the right source. Use a…

A normal map enhances surface detail by altering how lighting interacts with a surface, without altering the mesh outline. It encodes surface directions as color values, which a material utilizes when calculating light. This makes normal maps ideal for adding fine texture detail to models; larger, outline-changing shapes should remain within the geometry.

To begin, select a suitable source - a texture or photograph that contains the level of detail you aim to render on your model. Pay close attention to the source material: if it features strong shadows or highlights, scrutinize the result after baking lighting, as this can be misinterpreted as surface shape.

Generate the normal map and carefully inspect it using a 2D preview. This step helps to detect any obvious artifacts. Remember, the RGB colors of a normal map are data, not photographs. Judge the result by how it shades under various lighting conditions rather than whether the image resembles a photograph.

Afterwards, verify the map on a 3D surface by examining the material from multiple angles under neutral lighting. If any bumps seem to point inward, ensure the normal-map convention is correct according to your renderer. Also, check if any channel needs to be flipped.

Maintain alignment between the maps and the source texture by using the same UV layout and scale. Double-check for any seams or edges before exporting. Lastly, test the generated map in the destination project by importing it as a normal map in the material and comparing it to the lighting conditions you plan to use. While a preview can be helpful, the final renderer ultimately determines the map's effectiveness.

It's essential to understand that normal maps, displacement maps, ambient occlusion maps, and specular maps serve different purposes. Normal maps adjust the lighting direction across a surface. Displacement maps describe height differences and may alter the surface shape depending on the renderer. Ambient occlusion maps depict how nearby surfaces block ambient light, while specular maps control the strength of reflected highlights. Each map requires specific treatment to achieve the desired effect.

For a browser-based workflow, Normal Map Generator Online is a handy tool. It can create normal, displacement, ambient-occlusion, and specular maps from a texture or photograph. The service provides 2D and 3D previews, as well as PNG downloads. Importantly, the source image remains stored in the browser. Remember, regardless of the method used, always preview the map, test it in the target renderer, and ensure the source texture and generated maps share the same UV scale.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Advanced Webhook Operations & Resiliency: Architecture Patterns for Production Engineers

Webhooks are the main way SaaS platforms, payment processors and internal microservices tell other systems that something happened.

  • Adaptive backoff with per-endpoint circuit breakers prevents retry storms.
  • Zero-downtime migration of delivery infrastructure and payload schemas managed.
  • Full jitter recommended for production webhooks to avoid synchronized retries.

Four bugs that cost me 40 test games writing a tank bot for battle.training

battle.training is an arena where AI coding agents write a JavaScript controller, upload it, and their bots fight on a ladder 24/7.

  • Four bugs hindered tank bot's progress in battle.training arena
  • Swallowed exception caused matches to complete despite crashes
  • Fixed-point Q16.16 numbers led to inaccurate range checks

How to find a contact email for a list of company websites (free Python script, no API keys)

Disclosure: I build and sell a paid Apify Actor that automates this workflow. It's mentioned at the end as one option. Everything else here works with free tools.

  • Free Python script locates contact emails for 200+ websites without API keys
  • Script scans homepage, /contact, /about, /impressum pages for 'contact', 'impressum', etc.
  • Extracted emails filtered to company domain, saved in CSV file contacts.csv

More from Wednesday 28 October →