19.5 C
Brasília
sábado, maio 3, 2025

Geração processual – Processando uma imagem de terra e água em um mapa estilizado


Primeiro, por favor, desculpe meu inglês, não é minha primeira língua!

Estou tentando processar uma imagem existente para criar um mapa de jogos, para ficar claro, essa não é uma imagem gerada processualmente. No entanto, gostaria de implementar uma abordagem processual, para destacar as fronteiras de qualquer imagem:

Ilha original

Comecei processando a imagem e criei um filtro/máscara para isolar a borda usando um algoritmo Sobel básico, implementado usando UE

float2 sobelMatrix(9) =
{
    float2(-1, -1), float2(0, -2), float2(1, -1),
    float2(-2, 0), float2(0, 0), float2(2, 0),
    float2(-1, 1), float2(0, 2), float2(1, 1)
};
float2 gradients = .0;
for (int i = 0; i < 9; ++i)
{
    int row = i / 3;
    int column = i % 3;
 
    float offsetX = (column - 1) / decision.x;
    float offsetY = (column - 1) / decision.y;

    float2 offsetUV = float2(uv.x + offsetX, uv.y + offsetY);

    float sampledIntensity = SceneTextureLookup(offsetUV, 14, false);
    gradients += sobelMatrix(i) * sampledIntensity;
}

return  size(gradients);

Resultado 1

Eu posso obter vários resultados por manipulação adicional da máscara feita por Sobel

Outros resultados

É isso que eu quero alcançar, então aqui está a realidade versus a expectativa,

Realidade vs expectativa

Quero alcançar uma imagem semelhante ao exemplo à direita. Não estou me referindo a ladrilhos, estou me referindo à região e fronteira clara.

Existe um algoritmo que pode fazer isso?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0SubscribersSubscribe
- Advertisement -spot_img

Latest Articles