Как emscripten_set_canvas_size
знает, какой размер холста можно изменить, если у меня есть несколько из них в моем HTML-файле. Что я могу сделать в этом случае?
Почему может быть только один emscripten_set_main_loop
, что, если хотите 2 петли для рендеринга, а другой для физики, в javascript я бы использовал requestAnimationFrame
и setInterval
?холст emscripten и основная петля
ответ
emscripten_set_canvas_size
устанавливает размер холста Emscripten, то есть холста, возвращаемого методом Module.canvas
объекта Module
, который использует Emscripten.
Я не знаю, как одно время выполнения Emscripten может поддерживать несколько холстов или что активный холст может быть изменен после инициализации Emscripten. Тем не менее, в одном документе можно иметь несколько времен выполнения Emscripten, каждый из которых использует собственный холст. Для этого используйте emcc
опции компиляции
-s MODULARIZE=1 -s EXPORT_NAME="some_export_name"
После этого, модульный Emscripten время выполнения может быть реализован в JavaScript, как это:
some_export_name(OptionsModule);
где OptionsModule
является Module
объектом, пробег Emscripten -time будет использовать. Это можно сделать несколько раз с различными объектами Module
, обычно эти разные объекты возвращают различные HTML-элементы холста в их методах Module.canvas
. Пример этой модуляции можно найти: here.
То, что только один основной цикл Emscripten может быть запущен, является просто конструктивным ограничением. Две петли можно моделировать, вызывая одну функцию для рендеринга и одну для физики внутри основного обработчика цикла. Чтобы называть их разными интервалами, достаточно просто отслеживать время (используя SDL_GetTicks
).
- 1. Нитевидная основная петля для GTK и nanomsg
- 2. компиляция и ссылка OpenEXR emscripten множественная основная функция определяет
- 3. Бесконечная основная петля в F #
- 4. Основная петля в приложении для iPhone
- 5. Пользовательская основная петля приложения в какао
- 6. Рендеринг растрового буфера в холст HTML5 с помощью emscripten
- 7. Emscripten и ASMjs
- 8. ClCompile и Emscripten
- 9. Emscripten и пустой квадрат
- 10. Холст - петля непрозрачности изображения (fade in)
- 11. SDL2_net emscripten
- 12. Adobe Flash Professional CC - холст HTML5 - основная временная шкала
- 13. Какова основная цель холста?
- 14. Thread using emscripten
- 15. Использование библиотек с emscripten
- 16. Emscripten с модульными загрузчиками
- 17. Emscripten не оптимизирован
- 18. Производительность: NaCl vs Emscripten
- 19. boost bjam с emscripten
- 20. Emscripten 1.34.1 выпуск
- 21. Emscripten webworker - Собственные сообщения и зависимости
- 22. объекты с примитивными указатели данных и emscripten
- 23. Установка Emscripten на Ubuntu
- 24. AudioServicesPlaySystemSound и основная нить
- 25. Основная страница и производительность
- 26. Опоры и основная программа
- 27. Ожидаемый тип и основная
- 28. STATHREAD и основная нить
- 29. NSInvocationOperation и основная тема
- 30. Реализация интерфейса Javascript Emscripten