Автор Тема: Принцип работы текстур  (Прочитано 694 раз)

Оффлайн Hermes

  • Житель
Принцип работы текстур
« : 25 Декабрь 2022, 14:23:13 »
Решил для общего развития разобраться с работой текстур. Судя по многочисленным туториалам если к выходу подключить texture coordinate точка принимает цвет по значению ее координат. Соответствие проверял пипеткой и rgb нодом. И все было бы хорошо если бы я не попытался сделать график квадратичной функции. В целом все работает, если добавить нод less than, то парабола отрисовывается, но там где значение красного должно быть 0.81(так как x там равен 0.9 а функция квадратичная) оно становится 0.56.По моему это слишком большая погрешность даже для пипетки. С color management уже поигрался, но ошибка все равно сохраняется. Что я делаю не так?(черная точка на текстуре это место откуда я беру пробу цвета)

Оффлайн Samovar

  • Житель
Re: Принцип работы текстур
« Ответ #1 : 25 Декабрь 2022, 17:55:37 »
Ты пытаешься пипеткой взять цвет с экрана, а это целое число, да ещё и обработанное установками Color Menagement. И в узле цвета оно тоже целое от 0x00000000 до 0xffffffff , по байту 0xff на каждую компоненту цвета и альфа-канал. Для экрана байта альфа-канала вообще несуществует, потому цвет представлен 3 байтами или 24 битами.
Это пипеткой не сработает на экране окон просмотра. Но в буфере (окне) рендеринга можно получить посмотреть значение в конкретном пикселе с плавающей точкой, как отрицательные, так и положительные, после его завершения (ЛКМ в окне рендера и смотри значения внизу). Ди  и то они и там будут преобразованы. Надо установить в Сolor Menagement -> Display Device в XYZ, тогда, по идее, в окне рендеринга будут точные значения для текстурных координат. Хотя, х.з... я так глубоко никогда не вникал...