LINUX.ORG.RU

Сообщения wingear

 

FATAL: Error inserting ppp_mppe

Форум — Desktop

Пытаюсь дозвониться до билайна через pptp-setup. xl2tp почему-то не поднимается, но это другая история. А сейчас происходит что-то странное:

FATAL: Error inserting ppp_mppe (/lib/modules/3.1.7-zen+/kernel/drivers/net/ppp_mppe.ko): Invalid argument
/usr/sbin/pptpsetup: couldn't find MPPE support in kernel.
SIOCADDRT: Нет такого устройства

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

Само собой, модуль собран и лежит там, где его пытаются искать. При попытке подключения выдается та же ошибка «Invalid argument». Увидел здесь похожую тему, сказали, что ошибка связана с binutils. Пересобрал, но без толку. Или это специфично zen-овские баги?

emptiness harinezumi # uname -a
Linux emptiness 3.1.7-zen+ #3 ZEN SMP Mon Jan 9 13:23:20 MSK 2012 x86_64 Intel(R) Core(TM)2 Duo CPU T6670 @ 2.20GHz GenuineIntel GNU/Linux

wingear
()

Существует ли свободная(или хотя бы бесплатная) программа для парсинга выхлопа Agat UX?

Форум — Admin

Сабж.

Необходимо отслеживать пропущенные вызовы и раз в день слать информацию о них. АТС стоит Agat UX-5111.

Сейчас поставил шедший в комплекте SMDReader. Файл с вызовами вида

F CRN1CRN2 Orig Dest Дата       Время    Длит.    Номер                CallerID Dir  DirEx
__________________________________________________________________________________________
- 00180024 MTR  NET  11.01.2012 10:20:44 00:00:00 109[109]             8422249017 Внут 9   
- 001A0026 MTR  NET  11.01.2012 10:20:44 00:00:00 113[113]             8422249017 Внут 9   
пишется на сетевой диск, откуда его забирает скрипт фряхи, седом отсеивает отвеченные вызовы и отсылает на заданный емейл. Полученный файл показал начальнику, ему это не понравилось - куча записей об одном и том же номере.

Как я понимаю, нужно что-то околобиллинговое, но не настолько монструозное и требующее жабу, как jBilling. Кто-нибудь с похожей задачей сталкивался?

wingear
()

Это излишне гентушный подход или просто страх?

Форум — Talks

Сегодня в очередной раз пытался сыграть гамму до-мажор на 2 октавы с http://samouсh.ru на ощупь с 5 по 1 струну. Выходит не очень, хотя переборы и гаммы на одной струне уже получаются. Вчера пытался настроить гитару - настроил как-то по-инопланетному, но делал это упорно - струну порвал, пришлось перетягивать. Недавно спросили, выучил ли какую-нибудь песню с аккордами за месяц с лишним занятиями - удивились, узнав, что нет. До этого похожая ситуация была с играми - вместо того, чтобы брать готовый движок, не разбираясь, как это работает изнутри, я месяца 2 переделывал под SDL уроки с http://ogldev.atspace.co.uk, в результате так и не смог понять, почему мое диффузное освещение не работает, а брат, увидев плод долгого труда - вращающуюся пирамидку, саркастически сказал, что я оочень крут.

Кажется, я почему-то боюсь делать что-то реальное, потому стараюсь максимально основательно подготовиться, даже если никакого фактического продукта и не получается. Или надо действительно всё делать from stratch и не слушать предлагающих легкие пути?

wingear
()

[FreeBSD] Что-то странное происходит при установке apache22

Форум — Admin
root@ulsk-gw01:[/usr/ports/www/apache22]# make install clean
===>  Installing for apache-2.2.21
===>   apache-2.2.21 depends on file: /usr/local/bin/perl5.8.9 - found
===>   apache-2.2.21 depends on shared library: expat.6 - found
===>   apache-2.2.21 depends on shared library: apr-1 - found
===>   apache-2.2.21 depends on shared library: pcre.0 - found
===>   apache-2.2.21 depends on shared library: ldap-2.4.8 - found
===>   apache-2.2.21 depends on shared library: iconv.3 - found
===>   apache-2.2.21 depends on shared library: mysqlclient.18 - found
===>   Generating temporary packing list
===>  Checking if www/apache22 already installed
Making install in srclib
Making install in pcre
Making install in os
Making install in unix
Making install in server
Making install in mpm
Making install in prefork
Making install in modules
Making install in aaa
Making install in filters
Making install in loggers
Making install in metadata
Making install in http
Making install in generators
Making install in mappers
Making install in support
Installing configuration files
Installing HTML documents
Installing error documents
Installing icons
Installing CGIs
Installing header files
Installing build system files
Installing man pages and online manual
for i in dbmmanage htdbm htdigest htpasswd; do  install  -o root -g wheel -m 444 /usr/ports/www/apache22/work/httpd-2.2.21/docs/man/$i.1 /usr/local/apache2/man/man1;  done
for i in ab apachectl apxs htcacheclean httpd logresolve rotatelogs suexec; do  install  -o root -g wheel -m 444 /usr/ports/www/apache22/work/httpd-2.2.21/docs/man/$i.8 /usr/local/apache2/man/man8;  done
===> Installing rc.d startup script(s)
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.

При этом скрипт запуска всё-таки оказывается там, где он нужен. После этого при старте сервиса почему-то конфиг берется из /usr/local/apache2/conf, а не /usr/local/etc/apache. Но это еще пол-беды: директория /usr/local/apache2/modules пуста, а нужен ssl. Может, модули лежат где-то в другом месте? find-ом ничего подходящего не нашел(

ЗЫ Сильно не пинайте, фряху методом тыка осваиваю всего месяц как, немного похоже на Gentoo, но, имхо, неудобнее

 

wingear
()

hwengine падает при попытке загрузить png

Форум — Games
harinezumi@emptiness ~ $ hwengine .hedgewars/ /usr/share/games/hedgewars/Data/ Downloads/Repair_Border.37.hwd 
Hedgewars 0.9.17 engine (network protocol: 41)
Init SDL... ok
Init SDL_ttf... ok
Init SDL_image... ok
Loading .hedgewars//Data/Graphics/hwengine.png [flags: 8] An unhandled exception occurred at $00007F1B5B27C8C9 :
EAccessViolation : Access violation
  $00007F1B5B27C8C9

libsdl-1.2.14-r6

sdl-image-1.2.10-r1

libpng есть 1.2.46, 1.4.8-r2 и 1.5.7

Может, у кого-нибудь было похожее?

wingear
()

[openGL] Не пойму, как закинуть нормали в массив

Форум — Development

Сначала делал так:

glm::vec3 modelData[28];
    float size = 3.0f;
    modelData[0] = glm::vec3(0.0f,size,0.0f);
    modelData[1] = glm::vec3(-size,0.0f,+size);
    modelData[2] = glm::vec3(size,0.0f,+size);
    modelData[3] = glm::vec3(size,0.0f,+-size);
    modelData[4] = glm::vec3(-size,0.0f,+-size);
    modelData[5] = glm::vec3(0.0f,0.0f,0.0f);
    modelData[6] = glm::vec3(0.3f,0.3f,0.0f);
    modelData[7] = glm::vec3(0.6f,0.6f,0.0f);
    modelData[8] = glm::vec3(1.0f,0.0f,0.0f);
    modelData[9] = glm::vec3(1.0f,1.0f,0.0f);
    modelData[10] = glm::triangleNormal(modelData[0],modelData[2],modelData[1]);
    modelData[11] = modelData[10];
    modelData[12] = modelData[10];
    modelData[13] = glm::triangleNormal(modelData[0],modelData[3],modelData[2]);
    modelData[14] = modelData[13];
    modelData[15] = modelData[13];
    modelData[16] = glm::triangleNormal(modelData[0],modelData[4],modelData[3]);
    modelData[17] = modelData[16];
    modelData[18] = modelData[16];
    modelData[19] = glm::triangleNormal(modelData[0],modelData[1],modelData[4]);
    modelData[20] = modelData[19];
    modelData[21] = modelData[19];
    modelData[22] = glm::triangleNormal(modelData[1],modelData[3],modelData[4]);
    modelData[23] = modelData[22];
    modelData[24] = modelData[22];
    modelData[25] = glm::triangleNormal(modelData[3],modelData[2],modelData[1]);
    modelData[26] = modelData[25];
    modelData[27] = modelData[25];
    int indexes[18] = {0,2,1,0,3,2,0,4,3,0,1,4,1,3,4,2,3,1};
Рисовалось так:
glEnableVertexAttribArray(0);
    glEnableVertexAttribArray(1);
    glEnableVertexAttribArray(2);
    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,IBO);
    glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,sizeof(glm::vec3),0);
    GLubyte ss =5*sizeof(glm::vec3);
    glVertexAttribPointer(1,2,GL_FLOAT,GL_FALSE,sizeof(float),(const GLvoid*)ss);
    ss =10*sizeof(glm::vec3);
    glVertexAttribPointer(2,3,GL_FLOAT,GL_FALSE,sizeof(glm::vec3),(const GLvoid*)ss);
    glDrawElements(GL_TRIANGLES,18,GL_UNSIGNED_INT,0);
    glDisableVertexAttribArray(0);
    glDisableVertexAttribArray(1);
    glDisableVertexAttribArray(2);
Шейдеры:
#version 330
in layout (location = 0) vec3 Position;
in layout (location = 1) vec2 TexCoord;
in layout (location = 2) vec3 Normal;
uniform mat4 mvp;
uniform mat4 world;
out vec2 finalCoord;
out vec3 normal0;
void main(void)
{
    gl_Position = mvp * vec4(Position,1.0);
    normal0 = (world * vec4(Normal,0.0)).xyz;
    finalCoord = TexCoord;
}
#version 330
in vec2 finalCoord;
in vec3 normal0;
out vec4 fragColor;
uniform sampler2D samp;
struct dirlight
{
    vec3 color;
    float ambInt;
    float diffInt;
    vec3 dir;
};
uniform dirlight light;
void main(void)
{
    vec4 AmbientColor = vec4(light.color, 1.0f) * light.ambInt;
    float DiffuseFactor = dot(normalize(normal0), -light.dir);
    vec4 DiffuseColor;
    if (DiffuseFactor > 0) {
        DiffuseColor = vec4(light.color, 1.0f) * light.diffInt * DiffuseFactor;
    }
    else {
        DiffuseColor = vec4(0, 0, 0, 0);
    }
    fragColor = texture2D(samp,finalCoord.st) * (AmbientColor + DiffuseColor);
}
Но диффузное освещение не получалось - хз, почему, но в результате получался тот же самый ambient. На gamedev.ru посоветовали убрать «магические числа» «5» и «10» из glVertexAttribPointer и сделать структуру вершины с текстурными координатами и нормалями.
struct vertex
{
    glm::vec3 pos;
    glm::vec2 tex;
    glm::vec3 norm;
};
Рисуется иначе:
vertex *offset = NULL;
    glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,sizeof(vertex),&offset->pos);
    glVertexAttribPointer(1,2,GL_FLOAT,GL_FALSE,sizeof(vertex),&offset->tex);
    glVertexAttribPointer(2,3,GL_FLOAT,GL_FALSE,sizeof(vertex),&offset->norm);
    glDrawElements(GL_TRIANGLES,18,GL_UNSIGNED_INT,0);
В принципе, заработало, но, из-за неправильно расставленных нормалей пропали все тени. И это понятно: ведь нормаль должна привязываться не к вершине, а к треугольнику. Есть выход - сделать структуру triangle и рисовать через glDrawArrays, но это неоптимально. Можно ли оставить индексы, но сделать нормали?

 

wingear
()

hwengine падает при попытке загрузить png

Форум — Desktop
harinezumi@emptiness ~ $ hwengine .hedgewars/ /usr/share/games/hedgewars/Data/ Downloads/Repair_Border.37.hwd 
Hedgewars 0.9.17 engine (network protocol: 41)
Init SDL... ok
Init SDL_ttf... ok
Init SDL_image... ok
Loading .hedgewars//Data/Graphics/hwengine.png [flags: 8] An unhandled exception occurred at $00007F1BCB48E8C9 :
EAccessViolation : Access violation
  $00007F1BCB48E8C9
harinezumi@emptiness ~ $ eix libpng
[I] media-libs/libpng
     Available versions:  
        (1.2)   1.2.46
        (0)     1.4.5 (~)1.4.7 **1.5.2 1.5.6 (~)1.5.7
        (1.4)   (~)1.4.8-r2
        {apng neon static-libs}
     Installed versions:  1.5.7(15:32:19 01.01.2012)(apng static-libs -neon)
     Homepage:            http://www.libpng.org/
     Description:         Portable Network Graphics library

Подозреваю, что дело в установленной SDL 1.3 параллельно с 1.2-14-r6, уже несколько раз проверял - libSDL.so ссылается на 1.2, а экспериментальная версия мирно лежит в /usr/local/lib

Может, дело в другом?

wingear
()

Стоит ли переделывать проект, превращая функции в методы?

Форум — Development

Прохожу этот урок. По делу там только несколько строчек в конце, добавляющих ambient light в шейдер, это я сделал и у себя(чтобы что-то осталось в голове, не копирую уроки, а переделываю их под SDL и glm). Большую же часть урока идет перелопачивание кода с выносом всего, что можно, из main.cpp и добавлением отдельного класса technique, работающего с шейдерной программой. Класс я сделаю, но насколько имеет смысл делать класс application и превращать функции и его методы, чтобы максимально очистить от всего main? Если что, моё «по мотивам» всего этого - здесь. С qtCreator надо уходить, конечно, в т.ч. и потому, что, кроме qmake, из qt там уже ничего не используется

wingear
()

[Отговорите][Фатальный недостаток] Необходимо создать аналог Dreamweaver`a с эмулятором IE

Форум — Development

Кажется, что нет ни одного нормального ориентированного на дизайнера приложения для редактирования страниц - блокнот(Kate, vim,etc.) + firebug - это, конечно, хорошо, но, как я недавно убедился, есть люди, для которых автозакрытие тегов, хороший редактор css и открытие окна выбора файлов по src= значит достаточно многое.

Те, что есть, мне не нравятся - Amaya, nvu и kompoZer умерли, а bluegriffon - жуток во всем, начиная с просьб скачать непонятные плагины при первом запуске, отсутствия подсветки синтаксиса и автодополнения, и заканчивая сохранением в .xht по умолчанию и руганью на непонятный формат при каких-либо нетрививальных изменениях в коде и попытке перейти в режим дизайна. Также было бы здорово объединить опенсорсные движки(если делать на Qt, то проще всего сначала будет добавить khtml и webkit, потом добавить Gecko) в одном приложении для предварительного просмотра, затем с их помощью можно попытаться эмулировать поведение закрытых(Trident и Presto).

 

wingear
()

На работе хотят, чтобы я поставил крякнутый Корел. Чем оно чревато и что делать?

Форум — Talks

Сабж. Под своим зарегенным на corel.ru аккаунтом поставил его дизайнеру(правда, она еще на dreamweaver и фотошоп замахнулась лицензионные, но показал гимп и firebug, вроде за месяц триального немного привыкла). Не вижу никаких свободных альтернатив. Через 4 дня истекает срок. Попробую, конечно, почистить реестр, но что-то подсказывает, что при запуске оно снова обратится к себе на сервер и узнает, что срок вышел.

Теоретически, что мне будет, как системному администратору, в случае проверки(хотя вероятность её мизерна, конечно)?

Не хочется конфликтовать, но еще меньше хочется поощрять пиратство как оборотную сторону копиразма

wingear
()

1С 8.2 - где там консоль?

Форум — Admin

Subj. Как я ни сопротивлялся, все-таки по работе пришлось столкнуться с этой желтой программой. До сих пор удалось выезжать на интуиции, но в пятницу бухгалтеру потребовалось отменить проведение нескольких документов. Нашел, как это сделать «программно», т.е. через тамошний бейсик, переведенный промтом, но не могу понять, где и в каком режиме видна «консоль», т.е. как найти окно ввода для этого языка?

wingear
()

SDL, openGL - криво вертится

Форум — Development

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

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <fstream>
#define GL3_PROTOTYPES 1
#include <GL3/gl3w.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <SDL/SDL.h>

SDL_Window *mainwindow;
SDL_GLContext maincontext;
GLuint translateLoc,shader,VBO,sinLoc;
float tm=0;
glm::mat4 translation;
void sdldie(const char *msg)
{
    printf("%s: %s\n", msg, SDL_GetError());
    SDL_Quit();
    exit(1);
}
void quit()
{
    glDeleteProgram(shader);
    SDL_GL_DeleteContext(maincontext);
    SDL_DestroyWindow(mainwindow);
    SDL_Quit();
}


void draw_scene()
{
  //  tm+=0.1;
    glClear ( GL_COLOR_BUFFER_BIT);
//    translation = glm::rotate(translation,glm::sin(tm),glm::vec3(0.0f,1.0f,0.0f));
    glUniformMatrix4fv(translateLoc,1,GL_FALSE,glm::value_ptr(translation));
    glUniform1f(sinLoc,tm);
    glEnableVertexAttribArray(0);
    glBindBuffer(GL_ARRAY_BUFFER, VBO);
    glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,0);
    glDrawArrays(GL_TRIANGLES,0,3);
    glDisableVertexAttribArray(0);
    SDL_GL_SwapWindow(mainwindow);
    SDL_GL_SwapBuffers();
    SDL_Delay(20);
}
GLuint load_and_compile_shader(char *filename, GLenum shaderType)
{
    std::string line,total;
    std::ifstream shaderFile(filename);
    if(shaderFile.is_open())
    {
        while(shaderFile.good())
        {
            getline(shaderFile,line);
            total+=line+"\n";
        }
        shader = glCreateShader(shaderType);
        GLint Lengths[1];
        const GLchar *text = total.c_str();
        Lengths[0]= strlen(text);
        glShaderSource(shader,1,&text,Lengths);
        glCompileShader(shader);
        GLint result;
        glGetShaderiv(shader,GL_COMPILE_STATUS,&result);
        if(!result)
        {
            GLchar infoLog[1024];
            glGetShaderInfoLog(shader,sizeof(infoLog),NULL,infoLog);
            printf("Error while compiling shader: %s\n",infoLog);
            exit(-1);
        }
        else
            return shader;
    }
}

void prepare()
{
    if (SDL_Init(SDL_INIT_VIDEO) < 0)
        sdldie("Unable to initialize SDL");
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
    const SDL_VideoInfo *vi = SDL_GetVideoInfo();
    mainwindow = SDL_CreateWindow("stop", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        vi->current_w, vi->current_h, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN);
    if (!mainwindow)
        sdldie("Unable to create window");
    maincontext = SDL_GL_CreateContext(mainwindow);
    SDL_GL_SetSwapInterval(1);
    gl3wInit();
    glClear ( GL_COLOR_BUFFER_BIT || GL_DEPTH_BUFFER_BIT);
    glGenBuffers(1,&VBO);
    glBindBuffer(GL_ARRAY_BUFFER,VBO);
    glm::vec3 modelData[3];
    float size = 0.2f;
    modelData[0] = glm::vec3(-size,-size,0.0f);
    modelData[1] = glm::vec3(size,-size,0.0f);
    modelData[2] = glm::vec3(size,size,0.0f);
    glBufferData(GL_ARRAY_BUFFER,sizeof(modelData),modelData,GL_STATIC_DRAW);
    glEnableVertexAttribArray(0);
    GLuint myshader = glCreateProgram();
    GLuint vert = load_and_compile_shader("train.vert",GL_VERTEX_SHADER);
    GLuint frag = load_and_compile_shader("train.frag",GL_FRAGMENT_SHADER);
    glAttachShader(myshader,vert);
    glAttachShader(myshader,frag);
    glLinkProgram(myshader);
    translateLoc = glGetUniformLocation(myshader,"mTranslate");
    translation = glm::mat4(1.0f);
    GLint status;
    glGetProgramiv(myshader,GL_LINK_STATUS,&status);
    if(!status)
    {
        GLchar infoLog[1024];
        glGetProgramInfoLog(myshader,sizeof(infoLog),NULL,infoLog);
        printf("Error while linking shader: %s\n",infoLog);
    }
    glValidateProgram(myshader);
    glUseProgram(myshader);
}

void handle_keys(SDL_Event ev)
{
    switch(ev.key.keysym.sym)
    {
    case SDLK_ESCAPE:
        SDL_Quit();
        quit();
        exit(0);
        break;
    case SDLK_w:
        translation = glm::translate(translation,glm::vec3(0.0f,0.05f,0.0f));
        break;
    case SDLK_s:
        translation = glm::translate(translation,glm::vec3(0.0f,-0.05f,0.0f));
        break;
    case SDLK_a:
        translation = glm::translate(translation,glm::vec3(-0.05f,0.0f,0.0f));
        break;
    case SDLK_d:
        translation = glm::translate(translation,glm::vec3(0.05f,0.0f,0.0f));
        break;
    case SDLK_UP:
        translation = glm::rotate(translation,0.01f,glm::vec3(1.0f,0.0f,0.0f));
        break;
    case SDLK_DOWN:
        translation = glm::rotate(translation,-0.01f,glm::vec3(1.0f,0.0f,0.0f));
        break;
    case SDLK_RIGHT:
        translation = glm::rotate(translation,0.01f,glm::vec3(0.0f,1.0f,0.0f));
        break;
    case SDLK_LEFT:
        translation = glm::rotate(translation,-0.01f,glm::vec3(0.0f,1.0f,0.0f));
        break;
    case SDLK_q:
        translation = glm::scale(translation,glm::vec3(0.9f,0.9f,0.0f));
        break;
    case SDLK_e:
        translation = glm::scale(translation,glm::vec3(1.1f,1.1f,0.0f));
        break;
    }
}

int main(int argc, char *argv[])
{
    prepare();
    SDL_Event event;
    while( true ) {
        SDL_PollEvent( &event );
            switch( event.type ) {
            case SDL_KEYDOWN:
                handle_keys(event);
                break;
            default:
                draw_scene();
            }
        }
    return 0;
}

Шейдеры:

#version 330
in layout (location = 0) vec3 Position;
uniform mat4 mTranslate;
out vec4 FragColor;
void main(void)
{
    gl_Position = mTranslate * vec4(Position,1.0);
    FragColor = vec4(1.0,0.0,0.0,1.0);
}

in vec4 FragColor;

void main(void)
{
    gl_FragColor = FragColor;
}
wingear
()

[QtCreator][WTF?]ошибка: нет декларации ‘string’ в этой области видимости

Форум — Development

Почему-то не получается заставить его увидеть стандартный тип, хотя /usr/include/string.h есть, даже не пришлось include от компилятора добавлять в свойства проекта. Конечно, Qt не используется и лучше бы Code::blocks, или kdevelop, но уже как-то привык к QtCreator`у и, по идее, д.б. какой-то проcтой способ

wingear
()

QGLContext получается невалидным. С чего бы это?

Форум — Development

Попробовал инициализировать opengl 3 окно с помощью Qt.


#include "oglwindow.h"

OGLWindow::OGLWindow(QWidget *parent) :
    QGLWidget(parent)
{
}
void OGLWindow::initializeGL()
{
    QGLFormat fm;
    fm.setAlpha(true);
    fm.setDoubleBuffer(true);
    fm.setProfile(QGLFormat::CoreProfile);
    fm.setVersion(3,3);
    fm.setSampleBuffers(true);
    fm.setAccum(true);
    fm.setDepth(true);
    fm.setDirectRendering(true);
    QGLContext *con = new QGLContext(fm);
    con->create();
    con->makeCurrent();
}
void OGLWindow::keyPressEvent(QKeyEvent *key)
{

}
void OGLWindow::resizeGL(int w, int h)
{

}
void OGLWindow::paintGL()
{

}
oglwindow.h:

#ifndef OGLWINDOW_H
#define OGLWINDOW_H
#include <QMainWindow>
#include <QKeyEvent>
#include <QtOpenGL>

class OGLWindow : public QGLWidget
{
    Q_OBJECT

public:
    OGLWindow(QWidget *parent = 0);
    void keyPressEvent(QKeyEvent *key);
    void initializeGL();
    void resizeGL(int w, int h);
    void paintGL();

private slots:

private:

};
#endif // OGLWINDOW_H

main.cpp:

#include <QtGui/QApplication>
#include "oglwindow.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    OGLWindow w;
    w.show();

    return a.exec();
}

При каждом запуске выводится сообщение «QGLContext::makeCurrent(): Cannot make invalid context current». Понятно, что причин м.б. вагон и маленькая тележка, но до того с SDL нормально работало. Здесь показалось, что сделано проще, но, видимо, что-то забыл сделать. Формат пробовал полностью оставлять пустым, но ничего не менялось. Или нужно сначала имплементировать resizeGL и вызвать его перед show?

wingear
()

[icq][криокамера][нытик-тред] Кажется, они придумали новый способ экскоммутации

Форум — Talks

В кои веки понадобилась мне забытая аська. Пароль не помню, сунулся на сайт, восстановил по номеру почты. Где узнать сам номер аськи не в официальном клиенте, так и не нашел. Линуховый оф.клиент хз почему не скачивается(стоит флешка с соответствующей кнопкой и никак не реагирует на попытки её нажать). В веб-клиенте опять же непонятно где есть номер. Копыту, licq и остальным нужен именно он.

Я расстроен

 , ,

wingear
()

[Mysql]Что-то вроде принципа неопределенности Гейзенберга

Форум — Web-development

По наблюдениям, это работает так:

если мы любым способом узнаем insert_id(mysql_insert_id(), select count(*) from table и т.д.), запись не вставится;

если принудительно выставить id, который auto_increment и который уже когда-либо использовался в этой таблице(даже если сейчас он свободен), запись не вставится;

в остальных случаях insert query работает, но мне надо бы знать номер вставленной записи:(

Сам код:

$res = mysql_query('select * from branches where id='.$this->id);
	if($res->num_rows==0)
	{
	  $this->name = $name_;
	  mysql_query('insert into branches(name) values(\''.$name_.'\')');
// 	  $this->id = mysql_insert_id(); с этим предыдущая строка не работает
	}

 

wingear
()

[туплю] Insert query не срабатывает и не выдает ошибку

Форум — Web-development

используется mysqli:

$mysqli->query('insert into branches(name) values(\''.$name_.'\')');
echo $mysqli->error();
При этом, если вывести запрос и выполнить его в phpmyadmin, все работает. Ошибки не выводятся. С чем такое м.б. связано?

 

wingear
()

mysql stored procedure почему-то срабатывает только один раз

Форум — Web-development

Пробую сделать через хранимые процедуры(хотя именно здесь, конечно, можно и без них).

Структура таблицы: id,childs(потомки данной ветви через запятую), name.

Процедура:

mysql_query('
      create procedure getBranchData(IN id_ int)
      begin
	select * from branches where id=id_;
      end');
Используется так:
class branch
{
  private $childs = array();
  private $id,$name;
  function __construct($id_) {
    $this->id = $id_;
    $res = mysql_query('call getBranchData('.$this->id.')');
    $arr = mysql_fetch_array($res);
    $this->name = $arr['name'];
    $chi = explode(",",$arr['childs']);
    foreach($chi as $ch)
    {
      if($ch!=$this->id && !empty($ch))
      {
	$br = new branch($ch);
	$this->childs[] = $br;
      }
    }
  }
}
$el0 = new branch(1);
При попытке приписать первого потомка в mysql_fetch_array передается false, хотя, если не создавать объект, а вызвать процедуру напрямую 1 раз, все работает. Из-за чего такое может получаться?

wingear
()

Есть ли способ перестать быть эникейщиком?

Форум — Talks

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

Я прочитал спецификацию последнего openGL, пробовал адаптировать уроки с http://ogldev.atspace.co.uk под sdl и glm, хотя выходило не очень, да и вся математика, которую пытался сделать самостоятельно, не работала. Некоторое время помогала мысль, что это вообще не мое, а надо рисовать, но сегодня отправил кое-как законченное в krita знакомой дизайнерше, она сказала, что я сделал её плакать. Похоже, я разучился делать хоть что-нибудь красиво, хотя и не помню, когда это произошло. Если правы буддисты и возможно переиграть, хотя бы частично сохранив память, чего не нужно делать, чтобы не произошло того, что есть сейчас?

wingear
()

Не работают userscript`ы

Форум — Web-development

Пробовал в хроме и фоксе. Кажется, чего-то основного не достает, т.к. не работает даже alert:

// ==UserScript==
// @name addAudio
// @description convert links to mp3 to audio tags
// @match http://*/*
// @include http://*
// ==/UserScript==
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
 $('a[href$=".mp3"]').each(function(){
$this.html('
<audio controls="controls">
  <source src="'+$this.attr("href")+'" type="audio/mp3" />
</audio>');
});
</script>

wingear
()

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