Produto de ponto e luminância / Findmyicone
Todos,
Eu tenho uma questão básica com a qual estou lutando aqui. Quando você olha para o código de amostra findmyicone do WWDC 2010, você verá isto:
static const uint8_t orangeColor[] = {255, 127, 0};
uint8_t referenceColor[3];
// Remove luminance
static inline void normalize( const uint8_t colorIn[], uint8_t colorOut[] ) {
// Dot product
int sum = 0;
for (int i = 0; i < 3; i++)
sum += colorIn[i] / 3;
for (int j = 0; j < 3; j++)
colorOut[j] = (float) ((colorIn[j] / (float) sum) * 255);
}
E então é chamado:
normalize(orangeColor, referenceColor);
Executando o depurador, ele está convertendo BGRA: (Vermelho 255, Verde 127, Azul 0) para (Vermelho 0, Verde 255, Azul 0). Eu olhei na web e SO para encontrar detalhes sobre luminância e produto de ponto e não há realmente nenhuma informação.
1- Alguém pode me orientar sobre o que esta função está fazendo?
2- Você pode me guiar para alguns tópicos úteis / primer online também?
Obrigado novamente KMB