AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.11.2006, 09:46   #61  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Lucky13, покажите Ваш код целиком
Код выложен, см. пост выше, я его не менял и он у меня выдает ошибку.

Для вывода в чужое окно:

X++:
// hWnd = ViewPopt.hWnd();
hWnd = WinApi::FindWindow('TForm1','Form1'); //вывод в окно, созданное Delphi
Старый 29.11.2006, 09:49   #62  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Выкладываю программу на C++, которая выводит куб в основное окно Ax. Остается только найти 10 отличий с аксаптой.
Вложения
Тип файла: rar gl.rar (42.0 Кб, 53 просмотров)
Старый 29.11.2006, 10:21   #63  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Выкладываю программу на C++, которая выводит куб в основное окно Ax. Остается только найти 10 отличий с аксаптой.
В принципе их как бы нет, нет, конечно их много, только они не существенны, я вот всё думаю о glViewport(0,0,width,height), но это вряд ли.
Старый 29.11.2006, 10:48   #64  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
В принципе их как бы нет, нет, конечно их много, только они не существенны, я вот всё думаю о glViewport(0,0,width,height), но это вряд ли.
А у Вас проект без ошибок отрабатывает? В смысле GetLastError что возвращает?
Можно сравнить с точностью до значений возвращаемых функциями, может где всплывет глюк.
glViewPort не нужен, без него должно работать.

Интересно вот это:
PHP код:
    m_GLPixelIndex ChoosePixelFormathDC, &pfd);
    if(
m_GLPixelIndex==0// Let's choose a default index.
    
{
     
m_GLPixelIndex 1;    
     if(
DescribePixelFormat(hDC,m_GLPixelIndex,sizeof(PIXELFORMATDESCRIPTOR),&pfd)==0)
       return 
0;
    }


    if (
SetPixelFormathDCm_GLPixelIndex, &pfd)==FALSE)
        return 
0
Если ChoosePixelFormat вернул 0, то PixelIndex = 1 и вызвать DescribePixelFormat!!!???.
Старый 29.11.2006, 12:02   #65  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Вот, кое что подправил, ошибки должны в инфо выводиться, в инфо чисто, окно чёрное!

Lucky, твоя прога перезапустила винду при повторной попытке запуска
Вложения
Тип файла: xpo OGL2.xpo (14.6 Кб, 216 просмотров)

Последний раз редактировалось Dronas; 29.11.2006 в 12:55.
Старый 29.11.2006, 12:58   #66  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
Вот, кое что подправил, ошибки должны в инфо выводиться, в инфо чисто, окно чёрное!
А у меня ошибка "g_hRC == 0", окно белое. GetLastError = 2000 (после wglCreateContext).

Опытным путем установлено:
1. Приложение на С выводит в главное окно Ax
2. Приложение на С выводит в окно главного меню Ax, но картинку видно только при закрытии окна (видимо Axapta затирает)
3. Приложение на С НЕ выводит в окно созданное пользователем.

Что бы это могло значить? Вывод в компонент типа Window не проверял.
Старый 29.11.2006, 13:01   #67  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
Lucky, твоя прога перезапустила винду при повторной попытке запуска
Забыл предупредить, запускать только из MSVS чтобы в случае чего корректно снять, прога жутко глючная и неотлаженная. Сделана только чтобы проверить факт вывода в окно
Старый 29.11.2006, 13:18   #68  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Вывод есть, проверено, мне кажется у меня беда всё же с ClearColor

Запусти формочку из моего проекта.
Старый 29.11.2006, 13:31   #69  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
Запусти формочку из моего проекта.
Запускал, ошибка g_hRC == 0
Старый 29.11.2006, 13:38   #70  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
А это?

Есть одна засада, не плохо бы перезапустить машину после экспериментов с OpenGL.
Вложения
Тип файла: xpo OGL2.xpo (16.6 Кб, 214 просмотров)
Старый 29.11.2006, 13:44   #71  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
в

OpenGL_Initialize
X++:
...
//g_hWnd  =   Frame.hWnd();
g_hWnd  =   WinApi::findWindow("AxaptaClientClassName", "");
g_hWnd  =   WinApi::findWindowEx(g_hWnd, 0, "", "");
...
Сделал по примеру как у Lucky, стало главное окно краситься чёрным
Старый 29.11.2006, 14:21   #72  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
А это?

Есть одна засада, не плохо бы перезапустить машину после экспериментов с OpenGL.
Машину перезапустить не могу, сервер она у меня
Цитата:
Сообщение от Dronas Посмотреть сообщение
в

OpenGL_Initialize
X++:
...
//g_hWnd  =   Frame.hWnd();
g_hWnd  =   WinApi::findWindow("AxaptaClientClassName", "");
g_hWnd  =   WinApi::findWindowEx(g_hWnd, 0, "", "");
...
Сделал по примеру как у Lucky, стало главное окно краситься чёрным
А нарисовать что-нибудь получается или хотя бы в зеленый цвет покрасить.
Старый 29.11.2006, 14:26   #73  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Машину перезапустить не могу, сервер она у меня
Во-во, контекст правильно не удалён, поэтому заново и не создаётся.

Цитата:
Сообщение от Lucky13 Посмотреть сообщение
А нарисовать что-нибудь получается или хотя бы в зеленый цвет покрасить.
В том-то и дело, что нет, я об этом и говорю уже на протяжении всей ветки, а вы всё возвращает "ок", всё ок , грешу на glClearColor.

Последний раз редактировалось Dronas; 29.11.2006 в 14:39.
Старый 29.11.2006, 15:19   #74  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
УРА, ЗАРАБОТАЛА!!!
Работает, но вот этот цирк мне не понятен

X++:
static int glClearColor(real red, real green, real blue, real alpha)
{
    DLL             _winApiDLL      = new DLL("OPENGL32.dll");
    DLLFunction     _glClearColor   = new DLLFunction(_winApiDLL, 'glClearColor');

    COMVariant r = new COMVariant();
    COMVariant g = new COMVariant();
    COMVariant b = new COMVariant();
    COMVariant a = new COMVariant();

    r.float(red);
    g.float(green);
    b.float(blue);
    a.float(alpha);

    _glClearColor.returns(ExtTypes::void);

    _glClearColor.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord);

    return _glClearColor.call(r.int(), g.int(), b.int(), a.int());
}
Вложения
Тип файла: xpo OGL2.xpo (17.2 Кб, 250 просмотров)
Старый 29.11.2006, 15:36   #75  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Вот так как было по-моему неправильно.
X++:
    _glClearColor.call(r.float(red), g.float(green), b.float(blue), a.float(alpha));
float в классе COMVariant - это property, а если в property передать параметр, то оно вернет 0;

X++:
return _glClearColor.call(r.int(), g.int(), b.int(), a.int());
а если поставить r.float() - будет работать?
Старый 29.11.2006, 15:47   #76  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Если float, то не будет, с интом вроде ничё.
Старый 29.11.2006, 16:19   #77  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Теперь встал вопрос, что на ней делать?
Старый 29.11.2006, 16:21   #78  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Dronas Посмотреть сообщение
Если float, то не будет, с интом вроде ничё.
Здесь советуют писать int, да будет так. Пусть это будет фича аксапты.
Старый 29.11.2006, 16:46   #79  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Оттеда и слямзено
Старый 29.11.2006, 17:05   #80  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Всё, ужо и треугольники рисуются

Интересно, шейдеры . . .
Теги
opengl, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить имена полей, которые есть у таблицы? 3oppo DAX: Программирование 2 22.12.2006 14:30
ALEG: Software-as-a-service есть ли у них будущее в России Blog bot DAX Blogs 0 28.10.2006 16:10
Fullscope - Процессное производство для Axapta есть. mazzy DAX: Функционал 33 28.08.2006 13:22
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 5 07.09.2004 17:24
Что есть для Inernet-а ? bucken DAX: Функционал 6 29.10.2003 12:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:38.