Обсуждение статьи "Уроки по DirectX (Часть I): Рисуем первый треугольник"

 

Опубликована статья Уроки по DirectX (Часть I): Рисуем первый треугольник:

Это вводная статья по DirectX, которая описывает особенности работы с API. Помогает разобраться с порядком инициализации его компонентов. Приводит пример написания скрипта на MQL, выводящего треугольник с помощью DirectX.

Рендеринг примитивов — основная цель существования графического API. Современные видеокарты адаптированы для быстрого рисования большого количества треугольников. Дело в том, что на современном этапе развития компьютерной графики наиболее эффективным способом рисования 3D объектов является создание их поверхности из многоугольников. При этом для описания плоскости достаточно задать только три точки. В софте для 3D моделирования распространено использование прямоугольников, но видеокарта все равно принудительно разобьет многоугольники на треугольники.

Mesh

Сетка из треугольников

Автор: Timur Gatin

 
MetaQuotes:

Новая статья Самоучитель DirectX (часть I): Рисование первого треугольника была опубликована:

Автор: Rorschach

Хорошая статья
 
Статья очень хорошая и очень хорошо написана. Однако в качестве совета для будущих статей я бы хотел, чтобы вы приложили исходный код, использованный в объяснении, чтобы те, кто хочет увидеть, как это работает, были еще более заинтересованы в статье... ПОМНИТЕ: многие люди только начинают изучать MQL5 и не смогут проследить за объяснением до создания работающего кода, что в итоге оттолкнет их от изучения программирования на MQL5 ... особенно у тех, у кого очень мало опыта в программировании. Вот вам совет... 😁👍
 
Daniel Jose изучать MQL5 и не смогут проследить за объяснением до создания работающего кода, что в итоге оттолкнет их от изучения программирования на MQL5 ... особенно у тех, у кого очень мало опыта в программировании. Вот вам совет... 😁👍
Спасибо за отзыв. Весь код представлен в статье, ничего не вырезано.
 

не запускается?

2023.05.05 15:03:12.927 DXTutorial ( EURUSD,M1) Ошибка: не удалось создать графический контекст: 5151


 
okwh #:

не работает?

2023.05.05 15:03:12.927 DXTutorial (EURUSD,M1) Ошибка: не удалось создать графический контекст: 5151


.

Файлы:
DX.mq5  21 kb
 
Rorschach #:

.

Сэр:

Ваш этот DX.mq5 такой же, как DXTutorial.mq5, и получил ту же ошибку: Ошибка, не удалось создать графический контекст: 5151


Я проверил код и обнаружил, что функция DXContextCreate не работает! Все примеры на https://www.mql5.com/en/articles/7708  выдают одну и ту же ошибку.

Когда я изменил код следующим образом

   Print("Before DXContextCreate");
   m_dx_context = DXContextCreate(m_width, m_height);
   if(m_dx_context == INVALID_HANDLE)
     {
      Print("Ошибка, не удалось создать графический контекст: ", GetLastError());
      return(false);
     }
   Print("After DXContextCreate");

получил, что

2023.05.09 18:32:21.723 DX (EURUSD,H1) Before DXContextCreate

2023.05.09 18:32:21.727 DX (EURUSD,H1) Ошибка, не удалось создать графический контекст: 5151


Я не могу отладить его, моя ОС - windows server 2019 и адаптер дисплея - Nivida Quadro FX 1700, и DXdiag сказал, что он поддерживает DirectX12



Пожалуйста, используйте свой мобильный телефон, чтобы "смахнуть" x
How to create 3D graphics using DirectX in MetaTrader 5
How to create 3D graphics using DirectX in MetaTrader 5
  • www.mql5.com
3D graphics provide excellent means for analyzing huge amounts of data as they enable the visualization of hidden patterns. These tasks can be solved directly in MQL5, while DireсtX functions allow creating three-dimensional object. Thus, it is even possible to create programs of any complexity, even 3D games for MetaTrader 5. Start learning 3D graphics by drawing simple three-dimensional shapes.
 
okwh #:
Quadro FX 1700

Quadro FX 1700 - профессиональная видеокарта энтузиастского класса от NVIDIA, выпущенная 12 сентября 2007 г. Построенная по техпроцессу 80 нм и основанная на графическом процессоре G84, в варианте G84-875-A2 карта поддерживает DirectX 11.1. Построенная по 80 нм техпроцессу и основанная на графическом процессоре G84, в варианте G84-875-A2 карта поддерживает DirectX 11.1. Несмотря на поддержку DirectX 11, уровень функциональности составляет всего 10_0%. Несмотря на поддержку DirectX 11, уровень функциональности составляет всего 10_0 Несмотря на поддержку DirectX 11, уровень возможностей составляет всего 10_0, что может вызвать проблемы при работе со многими играми DirectX 11 и DirectX 12.

Попробуйте это.


DirectX
DirectX
  • 2020.04.22
  • www.mql5.com
Привет, кто-нибудь уже разобрался с directx, там есть DirectCompute...
 
Rorschach #:
проблемный

Спасибо!

Да, я нашел его, FX 1700's DirectX-функциональный уровень только поддержка до 10.0, это старый адаптер diaplay .

DXDiag: DirectX Version: DirectX 12, Chip type: Quadro FX 1700 Driver Date/Size: 2016-10-18 8:00:00, 17559200 байт

DDI Version: 11.1 Feature Levels: 10_0,9_3,9_2,9_1 & nbsp; Модель драйвера: WDDM 1.2

Я попробую это, иначе я, возможно, изменю свой адаптер diaplay на этом серверном ПК.


Я тестирую код в блокноте на компьютере с ОС windows 11, все работает нормально.

 
Rorschach #:

Quadro FX 1700 - профессиональная видеокарта энтузиастского класса от NVIDIA, выпущенная 12 сентября 2007 г. Построенная по 80 нм техпроцессу и основанная на графическом процессоре G84, в варианте G84-875-A2 карта поддерживает DirectX 11.1. Построенная по 80 нм техпроцессу и основанная на графическом процессоре G84, в варианте G84-875-A2 карта поддерживает DirectX 11.1. Несмотря на поддержку DirectX 11, уровень функциональности составляет всего 10_0%. Несмотря на поддержку DirectX 11, уровень функциональности составляет всего 10_0 Несмотря на поддержку DirectX 11, уровень возможностей составляет всего 10_0, что может быть проблематично при работе со многими играми DirectX 11 и DirectX 12.

Попробуйте это.


Еще раз спасибо!

При установке Force WARP для MT, работает нормально !