![]() |
Re: Помогите!
Цитата:
|
Re: Помогите!
Цитата:
|
Re: Помогите!
Цитата:
vlad Из вышесказанного следует, что, грубо говоря, трехмерную графику нужно представить в виде визуализации математических моделей, заданных формулами, которые обычно учат в курсе линейной алгебры и аналитической геометрии. Естественно, необходимо также знать способы реализации подобной визуализации ( :-) ) на компьютере. Короче, чтобы лишний раз не парить себе мозк, используют различные графические (и не только) библиотеки, jimon привел пару примеров. А Blitz - это что-то вроде движка со встроенным языком программирования и компилятором. Перед тем, как у тебя появилась возможность им пользоваться, он тоже был написан на другом языке программирования (С++) с использованием средств DirectX7 API. По поводу компиляторов, есть разные практически для любого языка. Можно и самому написать компилятор, но его эффективность будет сомнительна. На сегодняшний день есть ряд компаний, авторитет которых признан программистской общественностью, их программным продуктам доверяют (Borland для С++ и Delphi, Microsoft Visual Studio для ряда языков). |
Re: Помогите!
Есть С++ не очень новый, сложно ли будет к нему подкльчить DirectX9с.
А для работы со звуком, я так понял прейдеться чтото подключать, или парится самому. P.S. Ктота писал что изза того что С++ не игровой двиг, производительность на нем намного выше чем на блице, отсюда сразу вытекает вопрос: если блиц сделан на С++ то почему у него производительность меньше чем С++. |
Re: Помогите!
vlad
тут довольно обширная тема 1) код программы на блице транслируется в ASM код тоесть прямо в машиный код правда есть некоторые сомнения по поводу етого компилятора 2) двиг блица ето набор функций реализация етих функций зделана на С++ другой вопрос когда язык компилится в байт-код или проще говоря смотри : если чисто на C++ запрограммировать то программа потом транслируется например в такую команду asm: add a1,b1 но если на чем нибудь другом :) то возможно в asm будет такое: push ax push bx ... add a1,b1 ... pop bx pop ax вот из-за лишних команд и теряется производительность |
Re: Помогите!
Основная потеря производительности в движке происходит из-за высокоуровневости команд. Не знаю, как точно в DirectX, но в OpenGL, например, чтобы вывести на экран картинку (DrawImage в Блице), необходимо создать квад путем задания координат четырех его вершин, потом наложить на него текстуру и отрендерить. Т.е., как видишь, одна команда на Блице может содержать в себе другие команды, вызовы функций, нетривиальные арифметические операции. Все это ведет к понижению производительности.
Если же пишешь на С++, совсем не значит, что у тебя сразу получится получить большую производительность, чем на том же Блице. Тут все зависит от знания языка и владения мастерством оптимизации. В С++ есть где развернуться, можно найти пути оптимизации, в Блице же ты лишь можешь пользоваться теми командами, что тебе даны. Потому для некоторых фукций пишутся длл-ки на С++ или другом языке. |
Re: Помогите!
для отладки 3д двигов юзать Nvidia Developer DVD и не иметь никаких проблем :)
NVPerfHUD рулит ... |
Re: Помогите!
Пасибо за ответы. Знание сила ;)
|
Часовой пояс GMT +4, время: 18:09. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot