Подскажите, верный ли ход мыслей..

WPF
  1. 6 года назад

    Здравствуйте ув. Форумчане!
    Прошу подсказать в нужном ли направлении у меня мысли идут...
    В общем надо реализовать вот такую штуку:

    на WPF(начал изучать несколько дней назад), только без рыбок.
    Вопросы в общем следующие:

    1. Почитав про WPF я так понимаю можно обойтись стандартными средствами, для написания такой штуки. так ли это? или все же стоит заморачиваться с directX?
    2. Вопрос про саму реализацию в общем то: я так полагаю допустим фон, надо грузить на Canvas как фоновый рисунок, а воду уже сверху натягивать?
    3. Воду реализовывать я так полагаю через треугольники в 3d графике, и потом закрашивать какой-то прозрачной текстурой?

    p.s. надеюсь на ваши наводки и советы(какими инструментами или технологиями лучше обойтись). Спасибо)

  2. Ну я тоже только в начале изучения но почитайте внимательно на сайте статью, там все очень здорово описано.

    По первому вопросу. Конечно DirectX ну то есть все равно ВСЁ рисуется через него то есть и стандартные и не стандартные так что суть вопроса не понятна, или я не догоняю. В этом и есть основное нововведение.

    По второму, ну зачем именно Canvas? Я думаю можно просто в какой нибудь Grid воткнуть или DockPanel. Вода... если честно даже не представляю как она реализована))) Но скорее всего это 2D только эффекты шейдеров блюра и прочих преломлений.

  3. ну в 2D я так полагаю просто воду, но там же еще волны расходятся...
    p.s Спасибо)

  4. Найти это сообщение Domenick ну в 2D я так полагаю просто воду, но там же еще волны расходятся...
    p.s Спасибо)

    Ну 3D :) экран плоский так что это в любом случае псевдо 3D по отношению к реальности))) Просто может быть нарисовать в 3D будет проще чем в 2D но это кто что знает лучше. Волну нарисовать в 2D я думаю не так уж и сложно. Например переворачивание листа страницы которая выглядит как настоящее 3D пишется на 2D просто там где нужно добавляются определенные тени которые нужно рассчитывать. В 3D просто можно добавить тени которые сами будут расчитыватся но тут встает вопрос расчета геометрии волна и нагрузка на "клиента". Но я в этом плане вообще нуб так что хз хз. Будет интересно следить за вашим проектом, было бы интересно вставить куда нибудь такой функционал)))

  5. Найти это сообщение RusNekromant Будет интересно следить за вашим проектом, было бы интересно вставить куда нибудь такой функционал)))

    именно поэтому мне и дали этот проект на практике) чтобы потом в сенсорные столы вставлять это)

  6. Alexandr_Erohin

    Feb 19 Администратор

    Найти это сообщение Domenick Почитав про WPF я так понимаю можно обойтись стандартными средствами, для написания такой штуки. так ли это? или все же стоит заморачиваться с directX?

    Подобные эффекты пишутся на HLSL - языке программирования шейдеров, WPF может их использовать через класс ShaderEffect. В статье есть ссылка на библиотеку
    Windows Presentation Foundation Pixel Shader Effects Library, в которой есть эффект волн.

    Найти это сообщение Domenick Вопрос про саму реализацию в общем то: я так полагаю допустим фон, надо грузить на Canvas как фоновый рисунок, а воду уже сверху натягивать?

    Если нужно обеспечить сенсорный ввод то нужно использовать InkCanvas. Эффект можно натянуть на любой элемент унаследованный от UIElement, в том числе и Image

    Найти это сообщение Domenick Воду реализовывать я так полагаю через треугольники в 3d графике, и потом закрашивать какой-то прозрачной текстурой?

    Пункт 1

  7. спасибо огромное)

или зарегистрируйтесь чтобы ответить