Aqui está uma bela foto da varredura que estou usando - sem efeitos aplicados - apenas a rampa de cores e o histograma ajustados para mostrar todo o relevo - embora de uma maneira muito 2D!
Eu tenho uma camada raster que eu quero exibir com colina como padrão. Eu posso fazer isso no código e, na verdade, é o mesmo que selecionar a opção Hillshade no ArcMap (veja abaixo):
Porém, quando você faz isso - parece decepcionante:
Especialmente se você aplicar zoom na varredura, verá todos os tipos de articulados de grade - o que não parece nada agradável!
No entanto, se eu criar uma camada adequada do Hillshade usando a varredura com o Spatial Analyst e a sobrepor com uma transparência de 85%, ela parecerá muito boa e muito diferente !:
- Como obter esse efeito no ArcMap e substituir a funcionalidade padrão da opção Hillshade (suponho que isso seja impossível, ou é alguma configuração que perdi que causou uma exibição ruim da varredura). Se é possível substituir ou selecionar as configurações corretas - é possível fazer isso no ArcObjects.
- Se a opção 1 não for possível, posso criar meu efeito com a criação de uma camada Hillshade (sem usar o Spatial Analyst) e efetivamente fundi-la com a varredura original - ou seja, não quero que as pessoas vejam duas camadas no sumário no ArcMap . Eu só quero uma camada, mas com uma renderização de colina padrão da minha escolha / configuração. Também preciso fazer isso programaticamente, ou seja, ArcObjects.
Uma coisa que aprendi é que você deve ter seu DEM nas unidades de referência e medição espaciais corretas ou a colina resultante parece muito preta e exagerada - confira este vídeo para saber mais - é uma explicação muito boa.
Então, acho que agora sei o que preciso fazer em relação à produção de sombreamento de alta qualidade, mas acho que será necessário algum código do ArcObjects para ajustes de baixo nível. Estou pensando que preciso criar minha própria renderização gráfica e conectá-la ao ArcMap (eu tenho uma dll que renderiza bitmaps de grades de uma maneira interessante). Acho que um bom lugar para mostrar isso seria substituir o evento Draw () em algo como o IRasterRenderer e inserir minha própria renderização de imagem. Claro que pode ficar um pouco complicado com reprojeções, etc.
Alguém já fez algum tipo de renderização gráfica de baixo nível no ArcMap?