LINUX.ORG.RU

Сообщения wingear

 

Нафига делать параметр, который может принимать только одно значение?

https://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml

target Specifies the target to which the renderbuffer object is bound. The symbolic constant must be GL_RENDERBUFFER.

GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER.

Вот зачем это? Может, там ещё полно подобных нелогичностей?

 ,

wingear
()

Не пойму, зачем нужно glClearBufferData

Читаю последний OpenGL Programming Guide - непонятно, в чём разница между glBufferData и glClearBufferData, если обеими функциями(несмотря на название последней) можно записать данные в буфер. Правда, в glClearBuffer(Sub)Data ещё указывается внутренний формат - тоже непонятно, почему glBufferData обходится без этого.

 

wingear
()

QOpenGLFunctions created with non-current context

Пробовал сделать OpenGL-окно в Qt-5.3 по этому руководству, потом, когда ничего не получилось, стал искать, в чём разница с этим вариантом, который работает. Но особой разницы не нашёл - пробовал делать почти пустой format, как там, и наследовать окно от QOpenGLFunctions, также создавал QOpenGLPaintDevice перед тем, как начать что-либо делать с контекстом, и ресайзил его, но всё без толку. Остаётся только бездумный копипаст с удалением ненужных мне методов и проверкой, будет ли всё работать, после каждой операции. Но мне не нравится такой шаманский подход. Может, кто-нибудь увидит здесь, что не сделано перед началом инициализации функций?

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QWindow>
#include <QOpenGLContext>
#include <QOpenGLFunctions>
#include "shadermanager.h"

class MainWindow : public QWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWindow *parent = 0);
    ~MainWindow();

private:
    QOpenGLContext *_context;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"

MainWindow::MainWindow(QWindow *parent) :
    QWindow(parent)
{
    resize(1024,768);
    setSurfaceType(OpenGLSurface);

    QSurfaceFormat format;
    format.setDepthBufferSize(24);
    format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
    format.setMajorVersion(4);
    format.setMinorVersion(3);
    format.setSamples(16);
    format.setProfile(QSurfaceFormat::CoreProfile);
    setFormat(format);

    _context = new QOpenGLContext(this);
    _context->setFormat(format);
    _context->create();
    _context->makeCurrent(this);
    _context->functions()->initializeOpenGLFunctions(); //segmentation fault
}

 , , qopengl

wingear
()

Исправил ошибку компиляции на винде OpenGL SDK

Забирайте, если кому надо. Почему-то любое упоминание MemoryBarrier приводит к этой ошибке. Как завести ещё более самопальный sdk из этих уроков не разбирался, да и, скорее всего, буду в меру сил переделывать под «официальный» неофициальный. Рядом с Direct3D становится грустно - полное ощущение, что делаешь на коленке какую-то хрень с помощью изоленты и такой-то матери.

 glsdk,

wingear
()

Ошибка рендеринга в The Witcher

Несколько раз ставил сам с разными замещениями нативных библиотек через winetricks, потом грешил на драйвер - и действительно, в 337 фигуры персонажей размазываются по горизонтали, а в более ранних драйверах - по вертикали, но кажется, это один и тот же баг. Самое обидное, что в 13.04, которая до этого стояла, в плане графики всё было нормально, т.е. ошибка где-то ещё. Теперь поставил Enhanced Edition через PlayOnLinux, чтобы исключить ошибку с неправильными версиями библиотек, но то же самое: http://rghost.net/54833369/image.png При запуске в wine постоянно в консоли появляется fixme:d3d:resource_check_usage Unhandled usage flags 0x8. несмотря на установленный directX 9. Кто-нибудь сталкивался с таким?

 ,

wingear
()

Война с оптимусом

Вчера целый день ставил новую кубунту. Прямо как раньше с гентой. Спасибо нвидии. Хотя виноват и механический перенос опыта с 13.04 на эту систему: ни xorg-edgers, ни x-updates теперь устанавливать не нужно, потому что искоробочный проприетарный драйвер дружит с примусом, а все, что выше - нет. У всех драйверов версии выше 331 уже автоматически ставится prime - и это было бы терпимо, если бы иксы не начинали периодически фризиться, переставая реагировать на устройства ввода - помогает только переключение на какой-нибудь tty и обратно. Такое было с 334 и 337 драйверами. Но и сама по себе модель взаимодействия какая-то ущербная по сравнению с примусом: нужно выполнить от суперюзера prime-switch на нужную видеокарту, разлогиниться и снова зайти. При этом без видимых причин иногда переключение перестаёт работать - в этом случае примус тоже не помогает. Такое было с 334 драйвером. В общем, prime пока не готов

 , , ,

wingear
()

Ведьмак I в crossover запускается без музыки

Сабж. В wine даже GOG-версия не отрисовывает health-бар, поэтому попробовал кроссовером. Там нет этого бага, но проигрываются только звуки интерфейса/ударов. Вроде бы всё в ogg, поэтому непонятно, куда копать. Никто не сталкивался?

wingear
()

Опенсорсный проект с openGL >=3.2

Хочу присоединиться к сабжу (желательно, если это будет игра - независимо от степени нужности и перспектив), чтобы понять, каково это - низкоуровневая графика. Знаю Unity3D в первом приближении (на работе делаю серверную часть игры на этом движке, периодически приходится что-то фиксить в клиенте), давным-давно читал спецификацию какой-то из четвёртых версий openGL - думаю, смогу втянуться. Что посоветуете?

 ,

wingear
()

fastboot перестал видеть Huawei u8950-1 после разблокировки загрузчика

Делал по этой инструкции, успешно разблокировал загрузчик, но теперь, если загрузить в bootloader(через кнопки «включить»+«понизить громкость»), то после подключения по usb он просто включается, оставаясь невидимым для fastboot. Поэтому не получается установить clockwork recovery, чтобы получить root. Из-за чего это м.б.?

wingear
()

Ресурс, посвященный алкоголю

Дочитал тут имеющуюся на текущий момент часть треда Оперы и понял, что хочется перестать быть целевой аудиторией такового вот. Т.к. более-менее не формально общаюсь с незнакомыми людьми в основном под действием первотега, было решено таким образом считерить и устраивать себе примерно дважды в месяц экскурсию по местным барам etc. Однако внезапно обнаружил, что из напитков знаком только с пивом(не люблю светлое), кагором(и его вариантом - домашним глинтвейном), и - благодаря текущей работе - коктейлю из виски и колы. М.б., существует сетевой ресурс или книжка, где рассматривается применение прочих изобретённых человечеством напитков (традиции, дозы, возможность комбинации)? Linux здесь при том, что, если бы не он, возможно, этот вопрос мне бы задавать не пришлось.

 ,

wingear
()

An exception was thrown by the type initializer for ...

Класс - абстрактный, с несколькими статичными методами. При запуске в mono выдаёт сабжевую ошибку при инициализации модели типов сериализатора protobuf:

var model = TypeModel.Create();
model.Add(typeof(AbstractCommand), true);
В майкрософтовской CLR всё нормально. Пробовал добавлять пустой конструктор, но это ничего не изменило. В гугле даже упоминания в точности такого сообщения об ошибке не нашёл. Пробовал обрамлять код try-блоком с выводом innerException, но сообщение об ошибке это не меняло. Может, кто-то сталкивался с похожим?

 ,

wingear
()

<censured> с локализацией

Вроде бы всё сделал по инструкции: создал ts файл? в Qt linguist перевёл, скомпилил в qm, в main.cpp добавил(сначала с нормальным получением локализации, потом, отчаявшись, захардкодил, но это ничего не дало):

QTranslator translator(0);
    translator.load("translation_ru_RU");
    QApplication a(argc, argv);
    a.installTranslator(&translator);
    ProgramWindow w;
    w.show();
    
    return a.exec();
В результате в IDE всё нормально, если запустить из FM, скопировав qm файл в каталог с билдом - тоже, но при запуске из консоли локализация теряется. При запуске того же кода в винде локализация не подгружается уже в Qt Creator'e. В чём м.б. дело? Версия Qt 4.8.

 , ,

wingear
()

Предлагаю встретиться на этой неделе

До 12 числа(вечером поезд обратно) буду в Петербурге. Может, устроим оффлайновую встречу ЛОРа? Кажется, собирались собраться здесь в августе, но непонятно, чем кончилось. К сожалению, с собой сейчас ни одного устройства с нормальным линуксом, только андроидо-хуавей, но могу собрать gentoo(по крайней мере - начать) и на вашей технике при обоюдном согласии. Чуть позже разберусь, кого сюда требуется скастовать.

 ,

wingear
()

Linux- специфичные фичи в разработке игр

Сегодня поймал себя на мысли, что не могу припомнить ничего, связанного с графикой, и при этом не кроссплатформенного (вроде SDL), а специфично линуксового, использующего какие-то особенности ядра или иксов(кажется, у wayland самого по себе в этом плане нет особых преимуществ) для достижения возможностей, которых нет на других платформах. Хотя и для мака ничего похожего тоже не знаю(в iOS, правда, не устают повторять «используйте заточенное под нас», но по сути никакого резона в этом нет - openGL ES - он и в африке openGL).

Если я не ошибаюсь, и, с точки зрения игростроения, GNU/Linux - просто ещё одна запускалка десктопного openGL с наличием SDL(если есть проприетарные драйвера) и относительно обеглюченной на сегодняшний момент pulseAudio, что должно появиться у, допустим, Ubuntu, чтобы на одном и том же железе быстрее/лучше отрисовывалось, или, например, более быстро реализовывалось в каком-то высокоуровневом фреймворке, нещадно оптимизированном без оглядки на кроссплатформенность?

DirectX я вообще не использовал, SDL давно не щупал(это надо исправить), поэтому не могу ничего сказать об их сравнительном удобстве.

 , ,

wingear
()

В Mono перестаёт срабатывать приведение типов

В vs 2010 компилируется структура: Dictionary, в котором ключом является enum, а полем - вложенный словарь, ключом которого на этот раз является uint32, а полем - ещё один словарь с enum и, наконец, классом в качестве поля. Не спрашивайте, зачем это, код не мой, я только разбираюсь. В шаблонный метод, работающий с этой структурой, поступает тип(enum). Если он совпадает с каким-то известным типом enum'ов, нижние ярусы словаря начинают заполняться:

if (typeof(TGameObjectSubEnum) == typeof(BuildingEnum))                   
{                        
  foreach (var buildingType in Enum.GetValues(typeof(BuildingEnum)))
    ConfigureParametersMap[(FactionEnum)factionType][(UInt32)level][(TGameObjectSubEnum)buildingType] = 
    GameObjectFactoryContainer<AbstractBuilding, BuildingEnum>.Instance.CreateParams((FactionEnum)factionType, (UInt32)level, (BuildingEnum)buildingType) as AbstractGameObject<TGameObjectSubEnum>.Params;                    
}

Это собирается в винде. Но в mono(3.0.2, пробовал устанавливать 3 и 4 версию языка в параметрах компиляции, т.ч. дело не в версии) выдает ошибку, как если бы убрали последнее приведение, т.е.

error CS0039: Cannot convert type `CCC.Domain.UserContext.FarmModule.Objects.AbstractGameObject<CCC.Domain.UserContext.FarmModule.Objects.BuildingEnum>.Params' to `CCC.Domain.UserContext.FarmModule.Objects.AbstractGameObject<TGameObjectSubEnum>.Params' via a built-in conversion

Из-за чего это может происходить?

 ,

wingear
()

Почему не пропатчат ебилд в дереве?

http://forums.gentoo.org/viewtopic-t-963230.html Так уже на 3 версии драйвера приходится адаптировать патч. Это я что-то не так делаю, нвидиевцы, или надо в гентушную багзиллу написать?

 , , ,

wingear
()

x86_64-pc-linux-gnu-gcc: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/vanilla.specs: No such file or directory

x86_64-pc-linux-gnu-gcc
x86_64-pc-linux-gnu-gcc: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/vanilla.specs: No such file or directory

Пробовал распаковывать заново stage3 по этому методу: https://forums.gentoo.org/viewtopic-t-816334-start-0.html , но получается тоже самое. И, соответственно, ничего не ставится. При установке был только 4.6.3, потом добавился 4.7.2, позже обновил его до 4.7.3. После удаления всего этот спек всё равно не находится. В чём м.б. дело?

 , , specs

wingear
()

GRUB2 сразу пропадает

Acer v3-571g - сначала пробовал настроить uefi, но после перезагрузки вариант не появился в списке. После этого сделал установку, как описано в Gentoo wiki, но после перезагрузки на меньше, чем секунду, в углу мелькает надпись 'grub', и всё снова перезагружается. Т.е. похоже, загрузчик-то установился, но что-то не так, хотя ничего сделать, чтобы проверить, не получается успеть. Попробую сохранить систему в stage4 и полностью очистить диск. Может, у кого-то grub2 вёл себя похоже?

 ,

wingear
()

Nvidia 319.32 и 23 не собираются

Не пойму, куда копать, кажется, что-то не так с ядром, раз обе версии на одном и том же месте валятся.

build.log: http://pastebin.com/ePW8JKuk

http://www.gentoo.org/doc/ru/nvidia-guide.xml - вроде всё ненужное вырублено, нужное включено.

http://www.nvnews.net/vbulletin/showthread.php?t=205128 - пробовал как здесь, но там и у автора, похоже, ничего не вышло

 , ,

wingear
()

optimus и последний драйвер: всё действительно настолько страшно?

В более-менее распространённых дистрибутивах не проверял, но, судя по этому обсуждению, проблема есть и в ubuntu: https://devtalk.nvidia.com/default/topic/539322/blank-screen-with-319-12-on-optimus-laptop/

У меня ноутбук с оптимусом и GeForce 730M, который уже несколько дней пытаюсь настроить. Чую, придётся всё-таки ставить gentoo. Если я правильно понял, в свежем драйвере сломали совместимость со свежим Xorg'ом? Добавлять упомянутые там строчки с xrandr и .xinitrc не пробовал. При установке с нуля, допустим, Sabayon(на самом деле дистрибутив значения не имеет, главное понять, ЧЯДНТ), какая должна быть последовательность действий, когда после установки имеем работающую систему с интеловской видюхой и без нвидиевских драйверов, если я хочу использовать проприетарный драйвер и энергосбережение не важно?

После установки просто драйвера система грузилась с uvesa, при попытке создать xorg.conf через nvidia-xconfig на startx было сообщение о не найденном дисплее. После установки bumblebee ругалось, что не найден модуль bbswitch, но это, думаю, из-за того, что что ставил equo, а не emerge'м.

 , , ,

wingear
()

RSS подписка на новые темы