LINUX.ORG.RU

Сообщения akinator

 

Отчистка буфера глубины по трафарету

Задача такая: трафарет opengl содержит значения 0 и 1. Для всех нулевых значений трафарета надо сбросить буфер глубины (присвоить ему значение 1). Аппаратного способа сделать это я не нашел. Попробовал в лоб cделать это программно:

    static GLfloat *zbuffer = new GLfloat[1024*768];
    glReadPixels(0, 0, 1024, 768, GL_DEPTH_COMPONENT, GL_FLOAT, zbuffer);
    static GLfloat *sbuffer = new GLfloat[1024*768];
    glReadPixels(0, 0, 1024, 768, GL_STENCIL_INDEX, GL_FLOAT, sbuffer);
    for (int i = 0; i < 1024*768; i++) {
        if (sbuffer[i] < 1.0f)
            zbuffer[i] = 1.0f;
    }
    glDepthFunc(GL_GREATER);
    glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
    glDrawPixels(1024, 768, GL_DEPTH_COMPONENT, GL_FLOAT, zbuffer);
    glDepthFunc(GL_LESS);
Но этот вариант слишком сильно грузит проц. Может всё таки есть способ ускорить эту операцию?

 

akinator
()

Реанимация после dd

Хотел восстановить флешку и случайно вместо

sudo dd bs=1M count=1 if=/dev/zero of=/dev/sdb

сделал

sudo dd bs=1M count=1 if=/dev/zero of=/dev/sda

Теперь боюсь перезагружать комп. Запустил sudo update-grub что бы отремонтировать загрузку. Но груб вроде только первые 512 байт диска переписывает. Есть ли способ восстановить систему (ubuntu 12.04 server)?

akinator
()

Объявление глобальных переменных в qmake

Ребята, подскажите как в *.pro файле (TEMPLATE = subdirs) объявить переменную так, что бы её можно было использовать в дочерних *.pro файлах?

 , subdirs

akinator
()

автоматическое удаление объектов из списка

Чего то залип на одной задаче.

Имеем список объектов QWidget*. QList или QVector или что то другое - не важно. В процессе работы «на другом конце вселенной» для QWidget* может вызваться deleteLater(). Как мне при этом автоматически удалить уничтоженный виджет из списка?

Пробовал привязываться к сигналу destroyed(), перебирать весь массив и удалять из него объекты с адресом sender(), но sender почему то не совпадает ни с одним имеющимся объектом.

 ,

akinator
()

Автоматическая пересборка библиотек в qt creator

Пишу проект в котором две программы используют общую самописную статическую библиотеку. При исправлении кода библиотеки её приходится пересобирать. Я часто переключаюсь между программой и библиотекой и иногда, забыв пересобрать библиотеку после внесения в неё изменений, запускаю программу. В итоге прога запускается с предыдущей версии библиотеки и никаких изменений не видно.

Полагаю что это вполне типичная ситуация. И наверняка в qt creatore (или в qmake) есть возможность настроить автоматическую пересборку. Вот только я не могу нагуглить как это сделать. В общем, кто уже сталкивался с этой проблемой и как выкручивался?

 ,

akinator
()

Странное поведение QGraphicsItemGroup

Если мы создадим два QGraphicsItemа родителя и потомка, и обоим включим флаг ItemIsMovable, то потомок будет перемещаться независимо от родителя, а при движении родителя будут двигаться и дочерние итемы. Такое поведение мне и нужно. Но, почему то, когда в роли родителя выступает QGraphicsItemGroup этот фокус не прокатывает. Такое чувство, что QGraphicsItemGroup все дочерние итемы просто добавляет в группу, после чего независимо двигаться они уже не могут. Можно ли это как то обойти?

Пример:

#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene(0, 0, 500, 500);
    QGraphicsView view(&scene);

    //good
    QGraphicsRectItem itemA(10, 10, 20, 20, NULL, &scene);
    itemA.setFlag(QGraphicsItem::ItemIsMovable);
    QGraphicsRectItem itemB(40, 40, 20, 20, NULL, &scene);
    itemB.setParentItem(&itemA);
    itemB.setFlag(QGraphicsItem::ItemIsMovable);

    //bad
    QGraphicsItemGroup itemC(NULL, &scene);
    itemC.setFlag(QGraphicsItem::ItemIsMovable);
    QGraphicsRectItem itemD(100, 100, 20, 20, NULL, &scene);
    itemC.addToGroup(&itemD);
    QGraphicsRectItem itemE(140, 140, 20, 20, NULL, &scene);
    itemE.setParentItem(&itemC);
    itemE.setFlag(QGraphicsItem::ItemIsMovable);

    view.show();
    return a.exec();
}

akinator
()

корпоративный мультипользовательский web органайзер

Существуют ли сабж в природе? Желательно бесплатный и в виде CMS. Понятно что есть CMS общего назначения из которых можно слепить органайзер, но может быть кто то встречал уже готовые решения.

 , ,

akinator
()

Чем можно вывести текст в qgraphicsview или qgraphicsscene?

... в экранных координатах. У меня окошко qgraphicsview отображает часть большой сцены qgraphicsscene и постоянно перемещается по ней. В определенной части окна мне нужно выводить текст. Но я нашел только способы рисовать текст в координатах сцены. Можно конечно при каждом перемещении пересчитывать нужную позицию из экранных координат в координаты сцены и перерисовывать текст на новом месте, но мне кажется должен быть и другой способ.

 , ,

akinator
()

[ubuntu 11.10] Долго грузится lightdm

После обновления до новой убунты стал долго грузится комп. Гаснет Plymouth, на экране чернота, обращений к диску вроде нет. И так секунд на 20, затем появляется окошко для ввода логина и все работает нормально.

Файл /var/log/lightdm/lightdm.log:

[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.0.1, UID=0 PID=1136
[+0.00s] DEBUG: Loaded configuration from /etc/lightdm/lightdm.conf
[+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
[+0.00s] DEBUG: Registered seat module xlocal
[+0.00s] DEBUG: Registered seat module xremote
[+0.00s] DEBUG: Adding default seat
[+0.00s] DEBUG: Starting seat
[+0.00s] DEBUG: Starting new display for greeter
[+0.00s] DEBUG: Starting local X display
[+0.01s] DEBUG: X server :0 will replace Plymouth
[+0.03s] DEBUG: Using VT 7
[+0.03s] DEBUG: Activating VT 7
[+0.03s] DEBUG: Logging to /var/log/lightdm/x-0.log
[+0.04s] DEBUG: Writing X server authority to /var/run/lightdm/root/:0
[+0.04s] DEBUG: Launching X Server
[+0.04s] DEBUG: Launching process 1223: /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none
[+0.04s] DEBUG: Waiting for ready signal from X server :0
[+0.04s] DEBUG: Acquired bus name
[+0.04s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+1.27s] DEBUG: Got signal 10 from process 1223
[+1.27s] DEBUG: Got signal from X server :0
[+1.27s] DEBUG: Stopping Plymouth, X server is ready
[+1.29s] DEBUG: Connecting to XServer :0
[+1.29s] DEBUG: Starting greeter session
[+25.53s] DEBUG: pam_start("lightdm-autologin", "lightdm") -> (0x141e100, 0)
[+25.53s] DEBUG: Starting session unity-greeter as user lightdm logging to /var/log/lightdm/x-0-greeter.log
[+25.53s] DEBUG: pam_authenticate(0x141e100, 0) -> 0 (Success)
[+25.53s] DEBUG: pam_acct_mgmt(0x141e100, 0) -> 0 (Success)
[+25.53s] DEBUG: Launching session
... // дальше, думаю, не важно
Видюха 8600gt, проприетарный драйвер из репозитория.

На другой, менее мощной машине, тоже подвергшейся обновлению интервал между Starting greeter session и pam_start(«lightdm-autologin», «lightdm») занимает около четверти секунды.

akinator
()

У рамблера почта лежит

У вас сейчас работает рамблеровская почта? http://www.downforeveryoneorjustme.com/id.rambler.ru говорит что рамблер лежит. Вот вам и переход на линукс.

akinator
()

[opengl] мерцает текст

Мерцает выводимый на экран текст. Двойная буферизация включена, и по идее ничего мерцать не должно. Линии, многоугольники и круги не мерцают, но в тексте мерцает все знаки, кроме первой буквы. При выводе нескольких строк не моргает только первая буква в первой строке. Вопрос знатокам opengl: ЧЯДНТ?

Мне удалось установить что моргание текста уменшьается если увеличть время в таймере.

#include <stdlib.h>
#include <stdio.h>
#include <GL/glut.h>
#include <cstdio>
#include "ftgl.h"


void RenderScene(void) {
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0f , 0.2f , 0.2f);
    glRasterPos2f(1, 1);
    FTGLPixmapFont font("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf");
    if(font.Error())
        printf("Font not found\n");
    font.FaceSize(30);
    font.Render("Привет, мир!");
    glRasterPos2f(1, -4);
    glutSwapBuffers();
}

void ChangeSize(GLsizei w, GLsizei h) {
    if (h == 0)
        h = 1;
    glViewport(0,0,w,h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    GLfloat aspectRatio = (GLfloat)w/(GLfloat)h;
    if (w <= h)
       glOrtho(-10.0, 10.0, -10.0/aspectRatio, 10.0/aspectRatio, 1.0,-1.0);
    else
        glOrtho(-10.0*aspectRatio, 10.0*aspectRatio, -10.0, 10.0, 1.0,-1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}


void onTimer(int a) {
    glutPostRedisplay();
    glutTimerFunc(16,onTimer,1);
}

int main(int argc, char **argv) {
    glutInit(&argc, argv);
    glutInitWindowSize(800, 600);
    glutCreateWindow("hello");
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
    glutDisplayFunc(RenderScene);
    glutReshapeFunc(ChangeSize);
    glutTimerFunc(16,onTimer,1);
    glClearColor(1.0f, 1.0f, 0.8f, 1.0f);
    glutMainLoop();
    return 0;
}
ПС Ещё есть подозрение, что делать главныйм циклом программы рекурсивно вызываемый тамер не очень хорошая идея.

 

akinator
()

Жив ли ещё проект SAMS?

В октябре или ноябре вышла rc sams 2.0 и я думал, что дело идет к скорому релизу. Но с тех пор так ничего и не изменилось, кроме того что на сайте http://sams.perm.ru/ появились какие то проблемы с контентом.

akinator
()

[спецам по всему] Что делать если меня кинул ozon.ru?

Заказал электронную читалку на озоне и оплатил заказ через кредитную карту. Деньги сняли. Затем, через пару дней я передумал и аннулировал заказ до того как он был отправлен. Это была очень большая ошибка. Деньги пообещали вернуть через 5-6 рабочих дней, но в пятницу сумму списали с моего счета на сайте с пометкой: «Перевод денег через КиберПлат», а на кредитку ничего не пришло. Могут ли деньги со счета на счет идти несколько дней? Или возможно ли как то повлиять на озон и вернуть свои деньги, ведь стоимость электронной книги совсем не маленькая?

akinator
()

Как запретить выключение монитора?

Сабж на Ubuntu 10.04 Server (без иксов).
А то комп подсоединен к переключателю и уже надоело при переключении на него созерцать выключение и включение монитора.

akinator
()

[негодование] нетбучная убунта

Почуму нетбучная убунта доступна только в iso образах для CD? Зачем? В нетбуках же нет CD приводов. Почему я скачав исошник должен его конвертировать в unetbootin, а потом смотреть на черный экран с сообщением «no init found»?
ЗЫ
Кому-нибудь удалось запустить UNE 10.10 с флешки?

 

akinator
()

Linux на Sun Ray

Всем привет. Мне необходимо поднять терминальный сервер на базе тонких клиентов Sun ray 2. С sun ray`ев должен загружаться линукс, желательно Ubuntu. Сейчас у меня для эксперементов есть обычнй ПС с Ubuntu 9.10 destkop, соедененный кросовером с sun ray терминалом, но в дальнейшем конфигурация будет несколько другой. Я поставил SRSS 4.2 по мануалу http://wiki.sun-rays.org/index.php/SRSS_4.2_on_Ubuntu_9.10_%28i386,_amd64%29 , но без установки SRWC (Windows Connector). В логах sun ray терминал каждые 32 секунды спрашивает настройки dhcp, а сервер отсылает их:
$ tail -n 4 /var/log/syslog
Aug 27 13:48:23 main-desktop dhcpd: DHCPDISCOVER from 00:14:4f:a6:38:1b via eth0
Aug 27 13:48:23 main-desktop dhcpd: DHCPOFFER on 192.168.128.16 to 00:14:4f:a6:38:1b via eth0
Aug 27 13:48:55 main-desktop dhcpd: DHCPDISCOVER from 00:14:4f:a6:38:1b via eth0
Aug 27 13:48:55 main-desktop dhcpd: DHCPOFFER on 192.168.128.16 to 00:14:4f:a6:38:1b via eth0

На самом терминале ничего не загружается. Кажется все загугленные мной мануалы заканчиваются установкой Windows Connector, который мне вроде и не нужен. Подскажите пожалуйста мануал, для организации работы с Sun Ray`ев на Линуксе.

akinator
()

[GNOME] Дефолтные названия директорий

В гноме, да и не только в нём, есть несколько стандартных директорий: Музыка, Видео, Рабочий стол етц. Я очень хочу все эти директории переименовать, вернув им англоязычные названия. Как это сделать, ничего не сломав? Не гвоздями же к этим именам гном привязан?

 

akinator
()

[Geany] Открыть файл как root

Можно ли научить Geany, запущенный от обычного пользователя, открывать файлы от имени root`а, как это умеет делать vi?

 

akinator
()

[Ubuntu 10.04] [GNOME Terminal] Чертовщина с контролом

В программе GNOME Terminal на свежеустановленной убунте неожиданно перестали работать клавиатурные сочетания с клавишей контрол. При нажатии Ctrl+<любая буква> на экране печатается буква из русской раскладки, даже если текущая раскладка английская. Например, жму Ctrl+D, что бы закрыть программу, а на экране печатается русская буква «в». В других приложениях, в том числе и в настоящей консоли (Alt+Ctrl+F1), все работает правильно.
В настройках профиля эмулятора консоли я ничего не менял. Подскажите, как это исправить, а то невозможно работать.

akinator
()

Шахматы

Подскажите шахматы в которых можно расставлять фигуры перед тем, как начать партию. В стандартных гномовских glChess такой фичи кажется нет.

akinator
()

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