forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   axelynx (http://forum.boolean.name/showthread.php?t=14637)

Randomize 13.07.2012 00:05

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 232287)

Media -> AddNew на больших файлах пишет:

где и как можно увеличить этот размер? на сам сервер хостера больше файлы льются точно.

Похоже на настройки php
надо проверить константы.
Выполни ка следующий php код - посмотрим что покажет.
PHP код:

<pre><?
echo ini_get('post_max_size') . PHP_EOL;
echo ini_get('upload_max_filesize') . PHP_EOL;
?>

И да, что у тебя за хостер?

HolyDel 13.07.2012 00:44

Ответ: axelynx
 
Цитата:

Выполни ка следующий php код - посмотрим что покажет.
знать бы еще как)))

Цитата:

И да, что у тебя за хостер?
justhost.com

Цитата:

У мня можно вызвать шейдеру setAttributeNames и имена атрибутов, их лайоуты сохраняются в GLint
чего?

у тебя есть VAO в котором указано где лежит позиция например.
теперь ето число ты должен скормить шейдеру, так?
либо через BindAttribute либо через layout(location=) в тексте шейдера?

Randomize 13.07.2012 00:59

Ответ: axelynx
 
Надо же! Сервис!
https://my.justhost.com/cgi/help/110
:B

HolyDel 13.07.2012 01:27

Ответ: axelynx
 
знаешь, кажись сработало )))

еще вопрос - как мне сделать древовидное меню справа? хочу что то вроде:

Код:

axelynx
*downloads
**engine
**samples
**utilites
*screenshots
*information
**features
**help
**tutorials
tools
*normalmapmaker
*textureconvertor

избавился от C++0x.
собирается в стандарте C++98 gcc.
ну и msvs2010 cl

pozitiffcat 13.07.2012 09:03

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 232851)
знать бы еще как)))
у тебя есть VAO в котором указано где лежит позиция например.
теперь ето число ты должен скормить шейдеру, так?
либо через BindAttribute либо через layout(location=) в тексте шейдера?

Без вао. По моим тестам, оно производительности не дает.
Код:

void CStaticMesh::draw(CShader* shader)
{

        RENDER->bindBuffer(_vbo, BT_ARRAY);
        RENDER->vertexAttribPointer(shader->getPositionAttrib(), 3, RENDER->oFLOAT(), RENDER->oFALSE(),  sizeof(Vertex), (const void*)0);
        if(shader->getNormalAttrib() != -1) RENDER->vertexAttribPointer(shader->getNormalAttrib(), 3, RENDER->oFLOAT(),  RENDER->oFALSE(),sizeof(Vertex), (const void*)12);
        if(shader->getTexcoordAttrib() != -1)RENDER->vertexAttribPointer(shader->getTexcoordAttrib(), 2, RENDER->oFLOAT(), RENDER->oFALSE(), sizeof(Vertex), (const void*)24);

        RENDER->bindBuffer(_ibo, BT_ELEMENT);
        RENDER->drawElements(RENDER->oTRIANGLES(), _icount, RENDER->oUNSIGNED_SHORT(), 0);
}

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

Randomize 13.07.2012 09:13

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 232854)
еще вопрос - как мне сделать древовидное меню справа? хочу что то вроде:

Тут уже без кодинга увы никак. Предлагаю списаться в icq (см. профиль)

HolyDel 15.07.2012 23:22

Ответ: axelynx
 
отказался от OpenCL, и соотвественно softbody.
так как OpenCL нет не то что на мобильных платформах, а даже на intel HD-ях изпоткаропки.
от стл решили не отказываться, так как стлпорт есть в ндк. (я думал его надо отдельно таскать вместе с проектом). а значит стл есть на всех целевых платформах.

теперь движок работает на 3.0 контексте
и номинально на HD 2000 / HD 3000 , то есть том самом встроенном интеловском говнеце. не то чтобы быстро работает правда, но работает. во фьючерсы можно писать ))
на этой неделе залью версию 1.08 с физикой, правками под HD карточки и несколькими фиксами. + туда же пойдет ряд туторов.

moka 16.07.2012 01:19

Ответ: axelynx
 
К 28ому, нужно будет сделать визуализацию на вечеринку, завязка будет с реал-тайм данными из спектра звука, используя Bass или Fmod.

Визуализация тупо партиклы, может ещё убер пост-шейдер с параметрами для реалтайм изменений.

Как думаешь, на C#, будет ок замутить, готов к подобным экспериментам axelynx?
Да и как дело обстоит с минимальным 2D, или хотя бы возможностью создания ортхо камеры, с отрисовкой примитивов в виде линий / квадов и текста?

HolyDel 16.07.2012 01:39

Ответ: axelynx
 
есть очень быстрые спрайтовые системы.
может обрабатываться порядка миллиона спрайтов.
нет связи спрайовой системы с гпу (т.е. нарисовали во float текстуру что нить и оно автоматом позиционирует спрайты, например), но это можно допилить.

орто камеры есть, 2Д есть (прямоугольники, линии, пользовательские фигуры), текст есть - юникод.

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

jimon 16.07.2012 02:09

Ответ: axelynx
 
Цитата:

Сообщение от MoKa (Сообщение 233007)
К 28ому, нужно будет сделать визуализацию на вечеринку, завязка будет с реал-тайм данными из спектра звука, используя Bass или Fmod.

Визуализация тупо партиклы, может ещё убер пост-шейдер с параметрами для реалтайм изменений.

Как думаешь, на C#, будет ок замутить, готов к подобным экспериментам axelynx?
Да и как дело обстоит с минимальным 2D, или хотя бы возможностью создания ортхо камеры, с отрисовкой примитивов в виде линий / квадов и текста?


Глянь http://vvvv.org/

moka 16.07.2012 02:28

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 233008)
есть очень быстрые спрайтовые системы.
может обрабатываться порядка миллиона спрайтов.
нет связи спрайовой системы с гпу (т.е. нарисовали во float текстуру что нить и оно автоматом позиционирует спрайты, например), но это можно допилить.

орто камеры есть, 2Д есть (прямоугольники, линии, пользовательские фигуры), текст есть - юникод.

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

С#, т.к. его знаю отлично, и легко на нём шустро разрабатывать. Я с Ксорсом за 7 часов во время вечеринки экстремально программировал визуалки, было очень прикольно.
Обычно управляю прямо с клавиатуры напрямую, никакого гуи.

jimon, нада глянуть..

HolyDel 16.07.2012 12:13

Ответ: axelynx
 
Цитата:

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

HolyDel 18.07.2012 15:08

Ответ: axelynx
 
залита версия 1.08.
http://www.likosoft.com/download/2/

до конца недели будет несколько туторов тут:
http://likosoft.com/axelynx_wiki/ind...itle=Tutorials

dsd 19.07.2012 22:38

Ответ: axelynx
 

а куда про баги писать?

Код:

class my_Cam{
public:
Camera *cam;
Scene *s;


my_Cam(Scene *sc){
s=sc;
Camera *cam = s->AddCamera();

}

void Update(){
cam->Move(0.1,0,0);
}

};



вот если такой класс делаю, то приложение падает на любой команде сдвигающей камеру. притом теже команды с камерой как в стандартном примере работают. На 107 версии работало, вроде.

Код:

#include <axelynx/axelynx.h>
using namespace axelynx;


class my_Cam{
public:
Camera *cam;
Scene *s;


my_Cam(Scene *sc){
s=sc;
Camera *cam = s->AddCamera();

}

void Update(){
cam->Move(0.1,0,0);
}

};

int main()
{
        Engine *eng = Engine::Init();
        Window *wnd = eng->AddWindow(800,600);
        //TODO: Place your resource loading and scene creating code here

        Scene *s = eng->AddScene();
        //Camera *cam = s->AddCamera();
        my_Cam *cam= new my_Cam(s);
        Surface *cube = StandartSurfaces::Cube();
        Entity *body = s->Add(cube);
        StandartShaders::Render::OnlyNormals()->SetUniform(Shader::SU_LIGHTPOS,vec3(0,5,7));
        body->SetShader(StandartShaders::Render::OnlyNormals());
        body->SetPosition(0,0,-6);

        Entity *turret = s->Add(cube);
        turret->SetParent(body);
        turret->SetShader(StandartShaders::Render::OnlyNormals());
        turret->SetPosition(0,0.0,-1.25);
        turret->SetScale(0.25);

        turret = turret->Copy();
        turret->SetPosition(0,0,1.25);

        turret = turret->Copy();
        turret->SetPosition(0,-1.25,0);

        turret = turret->Copy();
        turret->SetPosition(0,1.25,0);

        turret = turret->Copy();
        turret->SetPosition(-1.25,0,0);

        turret = turret->Copy();
        turret->SetPosition(1.25,0,0);

        float dx=0,dy=0;

        while(wnd->isRunning())
        {
                if(KeyDown('A'))
                        dx -= 1.0;
                if(KeyDown('D'))
                        dx += 1.0;
                if(KeyDown('W'))
                        dy -= 1.0;
                if(KeyDown('S'))
                        dy += 1.0;
                //TODO: Place your rendering code here
                float dt = Timer::Delta() * 0.01;

                dx *= 0.95;
                dy *= 0.95;
                body->Turn(dt*dy,dt*dx,0);
                cam->Update();

                s->Render();
                wnd->Flip();
        }
        //TODO: Place your deinitalize code here
        eng->Free();
}


HolyDel 20.07.2012 01:40

Ответ: axelynx
 
у тебя ошибка в конструкторе (наверное ты уже и сам догадался)

Код:

my_Cam(Scene *sc){
s=sc;
Camera *cam = s->AddCamera(); //создает локальную переменную cam, а в my_Cam::cam - мусор
}

должно быть:
Код:

my_Cam(Scene *sc){
s=sc;
cam = s->AddCamera();
}

так работает.

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


Часовой пояс GMT +4, время: 18:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot