LINUX.ORG.RU

Сообщения wingear

 

Вышла стабильная версия Visualization Library 2011.05.1140

Новости — Мультимедиа
Группа Мультимедиа

Visualization Library — это библиотека, предоставляющая объектно-ориентированный С++ интерфейс для приложений, использующих высокопроизводительную двухмерную и трехмерную графику. Поддерживается OpenGL версий 1.x–4.x.

Может использоваться для создания кросс-платформенных приложений для операционных систем Linux, Mac OS X и Windows в таких областях, как научная визуализация, материаловедение, геология, разведка нефти и газа, здравоохранение и медицинская подготовка, гражданское и военное моделирование, виртуальная и дополненная реальности, визуальное моделирование, черчение, анализ данных, презентации, мультимедиа-приложения, спец-эффекты, а также двух- и трехмерные игры.

В новой версии добавлена поддержка тесселяционных шейдеров (включая пример использования), шейдерных неизменяемых величин двойной точности (double precision uniforms), текстурных буферов, текстур с мультисемплингом, массивов текстур, расширена поддержка сложных моделей использования объектов фреймбуфера (FBO), добавлено несколько готовых к использованию привязок к графическому интерфейсу, а также обновлена документация и набор примеров.

>>> Сайт проекта

 , , , visualization library,

wingear
()

vlc, KDE4, Gentoo. Валится при попытке открыть файл

Форум — Desktop

И что удивительно - если нажать Ctrl+f(открыть директорию), то диалог появляется, а после него нормально работают и другие. Ошибка появляется и при использовании диалогов Qt.

harinezumi@localhost ~ $ vlc
VLC media player 1.1.9 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0xfe2120] main libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
Blocked: call to setlocale(6, "")
Blocked: call to setlocale(6, "")
Blocked: call to putenv("LANGUAGE=")
KGlobal::locale::Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work 
*** glibc detected *** vlc: corrupted double-linked list: 0x000000000162a6b0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x72985)[0x7f16a71db985]
...
/lib64/libnss_compat-2.13.so
7f1661207000-7f1661406000 ---p 00007000 08:02 971719                     /lib64/libnss_compat-2.13.soАварийный останов

Бектрейс слишком большой, оставил только то, на чем повалилось. Пока не вспомнил, от чего зависит libnss. С локалью вроде бы всё в порядке: ru_RU.UTF-8. Только вот LC_ALL пустая. Видел несколько обсуждений этой проблемы, но, кажется, к решению так и не пришли

wingear
()

LMDE, beeline - рвется соединение при выходе из суспенда

Форум — Desktop

Subj. На свою голову обновил на отцовском десктопе убунту до 11.04, соединение стало рваться. До этого было настроено полуофициальным скриптом от Mr.Peabody, который больше не поддерживается. Поставил Mint Debian Edition, но там тоже самое. Через графический интерфейс установить не получается. Попробовал сделать через pptp-setup - при загрузке всё в порядке, если прописать pon beeline в /etc/rc.local. При выходе из спящего режима, тем не менее, всё пропадает. «pon beeline» в консоли работает(почему-то только через несколько минут после включения), но нужен способ, при котором от пользователя не понадобится никаких телодвижений. Кажется, можно добавить свой скрипт в /etc/pm/power.d, но у меня так и не заработало. Или стоит туда sleep добавить?

wingear
()

Кажется, нашел ошибку в openGL SuperBible

Форум — Development

Некоторые примеры из четвертой главы(по крайней мере, ортогональная и перспективная проекции) сегфолтятся. Оказывается, в коде рисования сцены(из Src/Chapter04/OrthoGraphic) не инициализируются стеки конвейера(кажется, эта функция выделяет под них память, смотрю пока) - почему-то это делается только в функции масштабирования.

Автор книги - маковод. У кого есть под рукой мак, там всё работает без этой строки или это везде такая ошибка?

void RenderScene(void)
	{
	// Clear the window and the depth buffer
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//    glEnable(GL_CULL_FACE);
    glEnable(GL_DEPTH_TEST);
    transformPipeline.SetMatrixStacks(modelViewMatix, projectionMatrix);//без этого сегфолтится на инициализации шейдера
		
    modelViewMatix.PushMatrix(viewFrame);
            
    GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
    GLfloat vGray[] = { 0.75f, 0.75f, 0.75f, 1.0f };
    shaderManager.UseStockShader(GLT_SHADER_DEFAULT_LIGHT, transformPipeline.GetModelViewMatrix(), transformPipeline.GetProjectionMatrix(), vRed);
    tubeBatch.Draw();


    shaderManager.UseStockShader(GLT_SHADER_DEFAULT_LIGHT, transformPipeline.GetModelViewMatrix(), transformPipeline.GetProjectionMatrix(), vGray);
    innerBatch.Draw();

    modelViewMatix.PopMatrix();


    glutSwapBuffers();
	}

wingear
()

GLBatch валится с сегфолтом

Форум — Development

Попробовал сделать пентаграмму(правда, потом понял, что треугольниками нужно иначе, но не суть важно), переделывая пример из SB5. Валится с SIGSEGV. Посмотрел, где именно: в файле GLBatch.cpp(есть в архиве http://www.starstonesoftware.com/files/SB5.zip) на 108 строке:

glGenVertexArrays(1, &vertexArrayObject);
После этого попробовал скопировать из самого примера 3 вершины, но то же самое. Может, где-то еще ошибка?
#include "qltprimer.h"
#include "include/GLTools.h"
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include "include/GLFrustum.h"
#include "include/GLMatrixStack.h"
#include "include/GLFrame.h"
#include "include/GLGeometryTransform.h"
GLFrame viewFrame;
GLBatch starBatch;
GLFrustum viewFrustum;
GLMatrixStack ProjectionMatrix;
GLMatrixStack ModelViewMatrix;
GLGeometryTransform transformPipeline;
GLShaderManager     shaderManager;
void init(void)
{/*
    GLfloat vVerts[] = { -2.0f, -2.0f, 10.0f,
                         -1.0f, 0.0f, 10.0f,
                         -3.0f, 1.0f, 10.0f,
                         -1.0f, 1.0f, 10.0f,
                         0.0f, 3.0f, 10.0f,
                         1.0f, 1.0f, 10.0f,
                         3.0f, 1.0f, 10.0f,
                         1.0f, 0.0f, 10.0f,
                         2.0f, -2.0f, 10.0f,
                         0.0f, -1.0f, 10.0f
                       };
*/
    GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
                                      0.5f, 0.0f, 0.0f,
                                                      0.0f, 0.5f, 0.0f };

    starBatch.Begin(GL_TRIANGLES,3);//было 10
    starBatch.CopyVertexData3f(vVerts);
    starBatch.End();
    glClearColor(0.3f, 0.3f, 0.3f, 1.0f );
}

void ChangeSize(int w,int h)
{
    if(h==0)
        h=1;
    glViewport(0,0,w,h);
    viewFrustum.SetPerspective(45.0f,float(w)/float(h),1,100);
    ProjectionMatrix.LoadMatrix(viewFrustum.GetProjectionMatrix());
    transformPipeline.SetMatrixStacks(ModelViewMatrix, ProjectionMatrix);
}
void RenderScene(void)
{

    shaderManager.InitializeStockShaders();
    //viewFrame.MoveForward(7.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    ModelViewMatrix.PushMatrix(viewFrame);
    GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
    shaderManager.UseStockShader(GLT_SHADER_DEFAULT_LIGHT, transformPipeline.GetModelViewMatrix(), transformPipeline.GetProjectionMatrix(), vRed);
    starBatch.Draw();
    ModelViewMatrix.PopMatrix();
    glutSwapBuffers();
}

int main(int argc, char *argv[])
{
    gltSetWorkingDirectory(argv[0]);
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
    glutInitWindowSize(800,600);
    glutCreateWindow("wnd");
    glutReshapeFunc(ChangeSize);
    init();
    glutDisplayFunc(RenderScene);
    GLenum err = glewInit();
    if (GLEW_OK != err) {
            fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
            return 1;
    }
    glutMainLoop();
    return 0;
}

wingear
()

[openGL]Не понимаю, как 1 матрица может заменить 2?

Форум — Development

OpenGL super bible 5th edition

The Default Light Shader

This shader creates the illusion of a single diffuse light source located at the eye position. Essentially, it makes things look shaded and lit. Uniforms needed are the modelview matrix, the projection matrix, and the color value to use as the base color. Required attributes are GLT_ATTRIBUTE_VERTEX and GLT_ATTRIBUTE_NORMAL. Most lighting shaders require the normal matrix as a uniform. This shader derives the normal matrix from the modelview matrix—convenient, but not terribly efficient. Bear that in mind for performance-sensitive applications.

GLShaderManager::UseStockShader(GLT_SHADER_DEFAULT_LIGHT, GLfloat mvMatrix[16], GLfloat pMatrix[16], GLfloat vColor[4]);

Texture Replace Shader

This shader transforms geometry by the given modelview projection matrix and uses the texture bound to the texture unit specified in nTextureUnit. Fragment colors are taken directly from the texture sample. Attributes used are GLT_ATTRIBUTE_VERTEX and GLT_ATTRIBUTE_TEXTURE0.

GLShaderManager::UseStockShader(GLT_SHADER_TEXTURE_REPLACE, GLfloat mvpMatrix[16], GLint nTextureUnit);

В первом случае в шейдер передаются 2 матрицы 4х4, во втором одна, и при этом сразу и modelview, и projection. Как такое может быть? Или на самом деле это только видовая? Если что, о шейдерах пока представление только на уровне «что они делают и зачем»

 

wingear
()

Hedgewars. Нет звука в hwengine(во фронтенде всё нормально)

Форум — Games

В настройках кед стоит бекенд xine(с vlc вообще нигде звука не было). До этого была проблема с alsa - в настройках ядра не выключил поддержку loopback-девайса, который почему-то стал картой по умолчанию. Теперь звук есть всюду. кроме сабжа.

При этом если в mplayer поставить -ao sdl, звук есть. Пробовал удалять кдешный модуль фонона и заменять его на qt-phonon - без изменений. Хотя это было до решения ситуации с alsa. Пожалуй, еще раз попробую. С чем это еще м.б. связано?

wingear
()

kde 4.6.2, что-то не так с phonon: нигде нет звука, кроме кдешных приложений

Форум — Desktop

Пробовал сделать как здесь - http://linuxforum.ru/viewtopic.php?id=10495, но не помогло: звук проигрывается в модуле настройки «Мультимедиа», если выставить любой бекенд, кроме vlc. В самом vlc вручную постаивл вывод через alsa, указал нужное устройство(HDA intel analog audio), но нет звука ни в mplayer(при этом никаких сообщений об ошибке), ни в mocp, ни во флеше, ни в проигрывателе на основе html 5 на ютубе. С чем такое м.б. связано?

wingear
()

Какой из опенсорсных движков более близок к trindent`у по поведению?

Форум — Web-development

Я понял, что так больше жить нельзя: вчера полдня ставил IE под вайном - 8 не завелся, в 7 - ошибки вроде невозможности ввести url(выскакивает сообщение «неверный параметр»), в 6 невозможно javascript`ом изменить innerHTML - не знаю, то ли бага вайна, то ли самого ишака. Поэтому вопрос - если начать делать opensource альтернативу, по возможности наиболее полно копирующую поведение эксплореров разных версий, что лучше взять за основу - webkit, gecko или что-то другое?

Также интересует, можно ли менять в нормальном шестом IE innerHTML так, как это работало опере, фоксе и хроме(нужно менять уже отданный сервером html, поэтому поставить id нужному элементу не получится):

tb = document.getElementsByTagName('table');
  ch1 = tb[7].childNodes;
  newh = ch1[1].innerHTML.replace('нет в наличии','<font color="#ff0000" size="4">нет в наличии</font>');
  ch1[1].innerHTML = newh;

wingear
()

Как проще всего проверить 2 предположения?

Форум — Talks

Есть 2 противоречащие друг другу гипотезы, каждая из которых подтверждается имеющимися в наличии фактами. Задача состоит в том, чтобы с минимальным количеством практических действий понять, какое из предположений - ложное.

Факты следующие: я - хеллоувордщик, не писал ничего сложнее гуёвой обертки на кутях и цпп для экспертной системы, использующей postgres для хранения информации и CLIPS для выполнения правил вывода(при этом идея и алгоритмы, естественно, не мои - просто хоздоговорные работы ВУЗа с местным оборонным предприятием). Программирование само по себе было приятным давным-давно, пока еще не ушел с винды и ради интереса, как выглядят кривые Лиссажу, написал их рисовалку на action script. После я узнал, что проприетарщина - зло, выучил основные команды vim, правда, всё равно в графическом интерфейсе использую kate. С мультфильмами, которые делал(пытался, до появления компа делал пластилиновые), тоже закончил, потому что сначала не знал про альтернативы флешу, потом стало не до того.

Теперь зависимость обратная - программирование не приносит радости, но если за день не попытаюсь что-нибудь написать, начинаются угрызения совести по поводу того, что я бесполезен для open source. Правда, в результате всё равно ничего не выходит, что приводит к еще большей подавленности. При этом те, технологии, с помощью которых приходится зарабатывать, чаще всего вызывают отвращение(особенно битрикс). На С/С++ меня не возьмут, потому что я писал фентези про чукчей и лепил из глины в художке, когда те, кто потом стал писать на С, изучали(самостоятельно, в силу интереса) алгоритмы и структуры данных. Php вызывает какую-то подсознательную неприязнь, да и проекты на нем, в которые звали(в одном даже поучаствовал 4 месяца, пока совсем тошно не стало), кажутся скучными: движки магазинов, смс-акций, система учета товара. Также вызывает аллергию софт, основным предназначением которого является оптимизация коммерции - не получается приучить себя к мысли, что помогать субъекту А продать нечто субъекту Б - и есть то, для чего я родился. Часто кажется, что было бы интересно разрабатывать игры, но там опять нужны в основном люди из той породы, которые думают на ассемблере. Учу openGL - нашел последнее издание, теперь по крайней мере нет задней мысли, что потом придется переучиваться на 3 версию.

А несколько людей говорят - и по внешним признакам они правы - что я занимаюсь полной херней: мне нравится рисовать, петь и складывать слова во фразы, а я всё равно корчу из себя программиста.

Согласно первой из гипотез, я лентяй, не приученный к труду, и только упорные ежедневные занятия чем-либо созидательным приведут в конце концов к получению удовольствия от жизни. Даже если брошу то, чем пытаюсь заниматься, все равно придется работать, равномерно и каждый день. Поэтому не важно, что начинать - сначала будет трудно и нужно будет себя заставлять. А больше пользы будет от кодера, чем от писателя или художника(учитывая то, что сейчас не являюсь ни кем из вышеперечисленных). В худшем случае до конца жизни придется заставлять себя что-то делать.

Гипотеза 2: я уже несколько лет, упорно не желая этого признавать, занимаюсь не своим делом, поскольку привык к линуксу, а уход в другую сферу с большой вероятностью приведет к миграции на винду или мак, что печально отразится на самооценке(получится, что я тоже способствую распространению проприетарных программ и пиратству).

Как выяснить, что на самом деле?

Вопрос связан и с другим - за счет чего жить? Можно, как делал до сих пор, работать там, куда берут(php, последняя работа «админом»-эникейщиком, когда иногда можно было целыми днями читать, периодически помогая бухам разобраться с офисом - доставала только необходимость в любом случае отсиживать эти 9 часов 5 дней в неделю), а свободное время(в идеале - на работе) посвящать тому, что интересно, но это полная лажа, я так больше не буду. Если не получится, как хотелось, лучше в макдак, чем как сейчас. Непонятно, как живут те, кто пишет всякие интересные статьи про экзотические технологии, или месяцами дорабатывает картинки на blender3d.org.ua. Вряд ли все сидят на шее родственников. Непонятно, сколько примерно требуется на освоение технологии с нуля до такой степени, чтобы можно было получать за её использование деньги(почему-то кажется, что это время измеряется в годах, во время которых тоже нужно что-то есть). Забить на всё до того, как доучу(уезжаю из Нерезиновой домой, всё достало, т.ч. такая возможность будет) или всё-таки посвящать основное время тому, за что платят, а остальное - урывками? Или вообще перестать работать в сфере информационных технологий, перевести в разряд хобби?

Вот такая простыня получилась. Хотя и про линукс тоже.

 

wingear
()

QtOpenGL. Почему-то сегфолтится на glBegin()

Форум — Development

сабж.

#include "scene.h"
#include <QWidget>
#include <QtOpenGL>
Scene3d::Scene3d(QWidget *obj)
{

}

void Scene3d::initializeGL()
{
 qglClearColor(Qt::white);
 glEnable(GL_DEPTH_TEST|GL_CULL_FACE|GL_DOUBLE);
}
void Scene3d::resizeGL(int w, int h)
{
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(65.0,w/h,1,100);
    glViewport(0,0,(GLint)w,(GLint)h);
}
void Scene3d::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glFrontFace(GL_CCW);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glColor4f(0.5,0.2,0.2,0.5);
    glInit();
    glBegin(GL_TRIANGLES);
    glVertex3f(0,0,2);
    glVertex3f(5,5,5);
    glVertex3f(-5,-5,2);
    glEnd();
    updateGL();
}

wingear
()

Хромовский адблок научился работать IRL

Форум — Talks
wingear
()

OpenGL. Поворот вокруг объекта. Чего-то глобально не понимаю

Форум — Development

«Прошел» интуитовский курс алгоритмических основ 3d-графики, правда, запомнил не много. Читал суперкнигу, казалось, что всё понимаю. Дошел уже до кубических текстур, попробовал с нуля сделать что-нибудь, не заглядывая в примеры. Не получилось. Вращающийся треугольник вращается вокруг «камеры»(я уже знаю, что это понятие некорректно, но мыслить матрицами (пока?) не получается). Попробовал добавить pushMatrix и popMatrix - никакого эффекта.

Нашел способ на rsdn(переместить GL_MODELVIEW в точку, вокруг которой будет поворот, повернуть, вернуться в исходную) - не понял, что это значит(зачем перемещаться туда и обратно), но решил применить по принципу «это сильное колдунство». В результате треугольник просто попал в плоскость отсечения и все вообще пропало.

	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);		
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	rot+=3;
	//glTranslatef(0,0,12);
	glRotatef(rot,0.0,1.0,0.0);
	glColor3f(0.8,0.5,0);
	glBegin(GL_TRIANGLES);
	glVertex3f(1.0,1.0,-12.0);
	glVertex3f(-1.0,1.0,-12.0);
	glVertex3f(0.0,-1.0,-12.0);
	//glTranslatef(0.0,0.0,-12.0);
	glEnd();
	glPopMatrix();
	glutSwapBuffers()
1)Существует ли учебник openGL(лучше хотя бы 2 версии) с заданиями для самоконтроля?

2)Как перестать думать в терминах 3d редактора(камера, глобальные/локальные координаты объекта - всё это аналогично обычному, не математическому миру) и начать понимать матрицы, а не просто, зажмурившись, применять функции на ощупь? В смысле, с какой книги начать. Или это чувство либо есть, либо нет от рождения и ничего не сделать?

wingear
()

[туплю] Пропали боковые «фреймы» в gmail

Форум — General

На ноуте в хромиуме(новый firefox еще не дособирался) вебморда отображается без боковой и верхней панелей(т.е.начиная только с кнопки «архивировать»). На работе в винде на нём же все в порядке. Что бы это могло значить?

 

wingear
()

Не пойму, откуда взять последний аргумент для glTexImage2D

Форум — Development

Читаю OpenGL SuperBook, но диск с примерами пока нет возможности скачать. В одной статье нашел функцию, загружающую текстуру из файла:

GLuint LoadTextureRAW( const char * filename, int wrap )
{

    // open texture data
    file = fopen( filename, "rb" );
    if ( file == NULL ) return 0;

    // allocate buffer
    width = 256;
    height = 256;
    data = malloc( width * height * 3 );

    // read texture data
    fread( data, width * height * 3, 1, file );
    fclose( file );

    // allocate a texture name
    glGenTextures( 1, &texture );

    // select our current texture
    glBindTexture( GL_TEXTURE_2D, texture );
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    // select modulate to mix texture with color for shading
    glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );

    // when texture area is small, bilinear filter the closest mipmap
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
                     GL_LINEAR_MIPMAP_NEAREST );
    // when texture area is large, bilinear filter the first mipmap
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );

    // if wrap is true, the texture wraps over at the edges (repeat)
    //       ... false, the texture ends at the edges (clamp)
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,
                     wrap ? GL_REPEAT : GL_CLAMP );
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,
                     wrap ? GL_REPEAT : GL_CLAMP );

    // build our texture mipmaps
    gluBuild2DMipmaps( GL_TEXTURE_2D, 3, width, height,
                       GL_RGB, GL_UNSIGNED_BYTE, data );

    // free buffer
    free( data );

    return texture;
}

В самой программе вызвал её так:

GLuint tdata = LoadTextureRAW("tex.bmp",GL_TRUE);
  glBindTexture(GL_TEXTURE_2D,tdata);
//  glTexImage2D (GL_TEXTURE_2D, 3, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, &tdata);
На последней закомментированной строке всё вылетало. Если подставлять текстуру напрямую, компилятор ругается на создание указателя из integera`a без приведения типа.

В определении функции сказано, что это должен быть GLvoid*, т.е. пустой указатель?

Пробовал подставлять туда указатель на массив из троек float-ов(RGB-«пиксели») - тот же эффект.

Так и не нашел примера использования с загрузкой из файла

wingear
()

ld не видит qt

Форум — Development
/home/harinezumi/mozbuild/obj-qt/config/nsinstall -D ../../dist/sdk/lib
c++  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DDEBUG -D_DEBUG -DTRACING -g3 -fPIC -shared -Wl,-z,defs -Wl,-h,libmozalloc.so -o libmozalloc.so  mozalloc.o mozalloc_abort.o mozalloc_oom.o     -lpthread    -Wl,-rpath-link,/home/harinezumi/mozbuild/obj-qt/dist/bin -Wl,-rpath-link,/usr/local/lib  -ldl  -L/usr/lib/qt4/lib/ -lQtGui -lQtNetwork -lQtCore -lQtDBus -lQtXml -lQtOpenGL   
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtGui
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtNetwork
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtCore
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtDBus
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtXml
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtOpenGL
collect2: выполнение ld завершилось с кодом возврата 1

Собираю firefox с поддержкой Qt, но ld его не видит. LD_LIBRARY_PATH и LD_PATH пробовал ставить в /usr/lib/qt4, но не помогает. ldconfig`ом добавлять директорию тоже пробовал. С чем такое м.б. связано?

wingear
()

Chrome. Аналоги Firebug и Color Picker

Форум — Web-development

Попытался мигрировать на сабж, но в «инструментах разработчика» не хватает возможности тыкнуть в элемент и посмотреть его код, и еще не нашел аналога color picker`a(пипеткой взять цвет со страницы). Существуют ли они?

wingear
()

WebGL 1.0

Новости — Мультимедиа
Группа Мультимедиа

Тихо и незаметно вышла спецификация WebGL 1.0 — кроссплатформенного свободного веб-стандарта для низкоуровневой 3D-графики (API базируется на OpenGL ES 2.0). Вызовы API предоставляются через элемент «canvas» стандарта HTML 5, поддерживается взаимодействие с DOM. Разработчики, хорошо знакомые с OpenGL ES 2.0, узнают в WebGL шейдерную модель, использующую конструкции GLSL, близкие к аналогичным в API OpenGL ES. Спецификация остаётся сильно похожей на OpenGL ES, с некоторыми уступками, связанными с использованием языков с управляемой памятью, таких как JavaScript.

WebGL предоставляет возможность свободной от плагинов работы с 3D, которая осуществляется прямо в браузере. Основные разработчики браузеров, такие как Apple (Safari), Google (Chrome), Mozilla (Firefox) и Opera — участники «Рабочей группы WebGL».

>>> Спецификация

 , , , ,

wingear
()

Человек для системы или система для человека?

Форум — Talks

На самом деле вопрос не столь глобален - просто спор о философии проектирования ПО. Один знакомый (с которым хотел бы не общаться, но не получается: часто приходит в гости к соседу по комнате) агитирует меня написать для него «калькулятор и компилятор». Учитывая, что он удивлялся по поводу того, что в gcc не встроено графическое меню(для него это показатель развитости компилятора), понятно, какая каша в его голове. При этом работает принцип «ссы в глаза - все божья роса»: когда показываешь самые бредовые логические ошибки, неизменно продолжает обтекаемыми словами в стиле «это я и имел виду». Первый раз сталкиваюсь с таким сочетанием внутренней пустоты и количества слов.

Рассказывает, что Java изначально была создана в СССР неким Тёмовым, который теперь уехал в Калифорнию, и называлась она «технологически ориентированная модульная система(ТОМс)». Он хочет заменить формат float представлением иррационального числа в виде совокупности недесятичных(возможно, цепных) дробей, который может превращаться во float и double с разной степенью точности.

На этом заканчивается то более-менее адекватное, что я в нем понял, и начинается бред. «Человек наиболее эффективно пишет программы на своем родном языке, поэтому 1С и выбилась в лидеры. Мы должны создать язык(вплоть до ассемблера), в котором все ключевые слова и переменные были бы на русском. При этом все вычисления будут корректными». Это он так называет вычисления со своими числами в противовес обычным float.

На свою беду упомянул при нем питон. Он нашел проект под названием Cython, сказал, что мы его русифицируем(гибкость питона+производительность С, слабо верится). Установить его га винду он не смог, пришлось мне. Теперь жалуется, что нет «турбо-среды»(так называет IDE), называя это недостатком языка и что язык не корректирует его ошибки, допущенные при вводе(«мы такое 20 лет назад делали»).

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

Тут я не выдержал и сказал, что нужно учить не то, за что платят, а то, что нравится, а потом пытаться на этом еще и заработать. «Тогда бы мы никогда не вышли в космос». И самое главное, на чем точки зрения совершенно противоположны - я считаю, что при прочих равных система с более высоким порогом вхождения более эффективна - не нужно будет 20 раз проверять, почему в очередной раз упал быдлокод, написанный обезьянами, которых он предлагает пачками сертифицировать. Он говорит, что нужно брать пример с Microsoft и все силы пускать на раскрутку своей технологии. Я понимаю, что это приведет к результату, но не вижу смысла в очередной наколенной поделке, захватившей мир в силу хорошего маркетинга. Он говорит, что нужен интерфейс, рассчитанный на обезьяну, чтобы на пульте управления ядерным реактором она ничего не смогла сделать, но зато получила бы сертификат пользователя ядерного реактора 1001-го уровня и смогла бы повесить его на стенку. Мне кажется, максимальное упрощение системы разработки в угоду разработчику -верный путь к деградации.

Это я неадекват-красноглазик или он лезет в чужой монастырь со своим консьюмеризмом?

wingear
()

Не понимаю, что такое GL_MODELVIEW

Форум — Development

Когда мы делаем, например, поворот функцией glRotatef, воздействие идет на координаты камеры или всех объектов? Можно ли подвинуть отдельный объект, а не камеру? Мне казалось, трехмерная сцена строится на мировой, видовой и проекционной матрицах, а в openGL, похоже, матрицы камеры и сцены слиты в одну. Или координаты камеры встроены и проекционную матрицу?

wingear
()

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