Просто быстрый хэдз-ап, возможно, что-то не так, как с моим кодом, поскольку я все еще учась правильно задавать вопросы.Float не возвращает правильное значение
Я разрабатываю свою первую программу, которая имеет цель. Я следил за многими учебными пособиями и имел базовое понимание программирования.
Я использую VC++ 2012 и GLUT OPENGL версия 4.3.0
Моя цель состояла в том, чтобы ввести номер, соответствующий погоде. Затем в зависимости от числа, которое будет играть другая анимация. Чтобы сначала упростить вещи, я просто собирался изменить цвет фона.
Я обнаружил, что это было сделано с этим.
glClearColor(0.0, 0.0, 0.0, 0.0, 1.0);
Который, казалось, работал, когда вручную вводил цифры с помощью кода. Однако, когда я пытался назначить каждое значение RGB с помощью float в другом классе, полученный в результате фон оставался черным.
Изменение погоды выполняется в классе погоды с помощью шкафов.
Большинство учебников, которые я смотрел, сказал, чтобы сохранить переменные частным, когда это возможно, чтобы предотвратить проблемы позже. Поэтому в классе screenRGB я настроил функции для установки и получения цветов RGB.
Я думаю, что это возможно, где мои ошибки исходят.
Когда я запускаю программу, я сделал это cout, какие значения поплавка я использовал.
cout << screenrgb.getScreenRed() << endl;
Это помогло изолировать немного, где все происходит неправильно. Возвращаемые значения float равны -1.07374e + 008. Что, казалось очень странным
И только тогда, когда я изменил
float getScreenBlue(void){return screenBlue;}
к ...
float getScreenBlue(void){return 1.0;}
... сделал изменение цвета, когда окно открылось, и по понятным причинам это работало. Это заставляет меня думать, что заданные функции неправильно закодированы.
Я чувствую, что, возможно, я просто пропустил одну маленькую вещь или, возможно, массивную вещь. По моему мнению, все остальное работает.
Это мой полный код извините, если этот кусок слишком велик, чтобы понять, я могу попробовать и удалить части, которые я знаю, не проблема, если это необходимо.
Еще раз спасибо, и извинение, если это было размещено неправильно.
Ben.