5.03.2015 / 17:54 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Addlient_Shaym, может "./img.png" может путь берется относительно того, откуда запускаешь?
|
6.03.2015 / 00:41 | |
Addlient_Shaym Пользователь Сейчас: Offline
Регистрация: 13.09.2012
| Naik, спасибо, заработало.
|
6.03.2015 / 01:24 | |
Addlient_Shaym Пользователь Сейчас: Offline
Регистрация: 13.09.2012
| Naik, хотя не, не заработало. Если добавить "./" перед путями к файлам все вроде грузится нормально, но результат тот же - пустой скайбокс с крестиком посередине. https://drive.google.com/file/...V1U/view?usp=sharing |
6.03.2015 / 21:37 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Addlient_Shaym, попробуй еще без точки в начале пути |
7.03.2015 / 00:45 | |
NeiroNext Пользователь Сейчас: Offline
Имя: Михаил Откуда: Херсон Регистрация: 16.01.2010
| Naik, Без точки будет корень ФС, так что даже пробовать не нужно.
|
7.03.2015 / 01:19 | |
NeiroNext Пользователь Сейчас: Offline
Имя: Михаил Откуда: Херсон Регистрация: 16.01.2010
| Addlient_Shaym, У тебя картинку и не будет отображать, ведь ты не задействовал метод draw(Drawable& dududu). С библиотекой вообще незнаком, сейчас под виндой, поэтому скачал либу и посмотрел пример кода, там для отображения используется спрайт, который создается на основе текстуры, текстура в свою очередь может браться как с изображения так и с файла. Вот пример твоего измененного кода, текстуру загружаю не с изображения а с файла для меньшего кода, если обьект "изображение" очень важен можно воспользоваться функцией loadFromImage(). Да и еще код загрузки изображения перенесен за цыкл, т.к. неправильно каждий раз заново загружать изображение для его отображения когда это можно сделать единожды. Вот и сам код: #include <SFML/Graphics.hpp>
int main()
{
// create the window
sf::RenderWindow window(sf::VideoMode(800, 600), "My window");
sf::Texture t;
t.loadFromFile("cb.bmp");
sf::Sprite sp(t);
// run the program as long as the window is open
while (window.isOpen())
{
// check all the window's events that were triggered since the last iteration of the loop
sf::Event event;
while (window.pollEvent(event))
{
// "close requested" event: we close the window
if (event.type == sf::Event::Closed)
window.close();
}
// clear the window with black color
window.clear(sf::Color::Black);
window.draw(sp);
//window.draw(im);
// draw everything here...
// window.draw(...);
// end the current frame
window.display();
}
return 0;
}
Новые строки здесь 8-10 и 28. |
7.03.2015 / 11:37 | |
Addlient_Shaym Пользователь Сейчас: Offline
Регистрация: 13.09.2012
| NeiroNext, Я не про этот код. Его я скинул просто чтобы понять почему не грузится картинка. По ссылке выше исходник майнкрафта на с++, который я пытаюсь заставить работать под линуксом.
|
7.03.2015 / 15:31 | |
NeiroNext Пользователь Сейчас: Offline
Имя: Михаил Откуда: Херсон Регистрация: 16.01.2010
| Addlient_Shaym, Прошу извинения, буду под линуксом посмотрю, мож что найду |
7.03.2015 / 19:14 | |
NeiroNext Пользователь Сейчас: Offline
Имя: Михаил Откуда: Херсон Регистрация: 16.01.2010
| Addlient_Shaym, С 3Д графикой практически не работал, но насторожил размер куба в 1000 единиц, изменил до нормальной одной единицы и отображение карты уже заработало ...
glTranslatef(p.x, p.y, p.z);
createBox(skybox, 1); // Change
glTranslatef(-p.x, -p.y, -p.z);
window.pushGLStates();
window.draw(s); //рисуем курсор
window.popGLStates();
....
Изменение пометил коментарием Change |
7.03.2015 / 23:17 | |
Addlient_Shaym Пользователь Сейчас: Offline
Регистрация: 13.09.2012
| NeiroNext, можешь кинуть скрин того что у тебя в итоге получилось? А то у меня просто исчез скайбокс и при ходьбе кубы размазываются
|