Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.11.2012, 12:30
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 11  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
никак не могу прикрутить away к Flash Builder.... пустой экран получается.... подскажите плиз что делаю не так?

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
			   creationComplete="application1_creationCompleteHandler(event)">
 
	<mx:UIComponent id="ui" width="100%" height="100%"/>
 
	<s:BorderContainer width="100%" height="100%">
		<s:SpriteVisualElement id="sv" width="100%" height="100%"/>
	</s:BorderContainer>
 
	<s:TextArea id="txt" width="200" height="100" left="0" verticalCenter="0"/>
 
	<fx:Script>
		<![CDATA[
			import mx.events.FlexEvent;
 
			protected function application1_creationCompleteHandler(event:FlexEvent):void
			{
				var ss:Basic_View = new Basic_View();
				sv.addChild(ss);
			}
 
		]]>
	</fx:Script>
 
 
 
</s:Application>
Код AS3:
package 
{
	import away3d.containers.*;
	import away3d.entities.*;
	import away3d.materials.*;
	import away3d.primitives.*;
	import away3d.utils.*;
 
	import flash.display.*;
	import flash.events.*;
	import flash.geom.Vector3D;
 
	[SWF(backgroundColor="#000000", frameRate="60")]
 
	public class Basic_View extends Sprite
	{
		//plane texture
		[Embed(source="/embeds/floor_diffuse.jpg")]
		public static var FloorDiffuse:Class;
 
		//engine variables
		private var _view:View3D;
 
		//scene objects
		private var _plane:Mesh;
 
		/**
		 * Constructor
		 */
		public function Basic_View()
		{
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(event:Event=null):void {
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
 
			//setup the view
			_view = new View3D();
			addChild(_view);
 
			//setup the camera
			_view.camera.z = -600;
			_view.camera.y = 500;
			_view.camera.lookAt(new Vector3D());
 
			//setup the scene
			_plane = new Mesh(new PlaneGeometry(700, 700), new TextureMaterial(Cast.bitmapTexture(FloorDiffuse)));
			_view.scene.addChild(_plane);
 
			//setup the render loop
			addEventListener(Event.ENTER_FRAME, _onEnterFrame);
			stage.addEventListener(Event.RESIZE, onResize);
			onResize();
		}
 
		/**
		 * render loop
		 */
		private function _onEnterFrame(e:Event):void
		{
			_plane.rotationY += 1;
 
			_view.render();
		}
 
		/**
		 * stage listener for resize events
		 */
		private function onResize(event:Event = null):void
		{
			_view.width = stage.stageWidth;
			_view.height = stage.stageHeight;
		}
	}
}
Добавлено через 21 минуту
хмм... прикрутил к флэшу - работает. а в билдере ни в какую

Старый 16.11.2012, 13:05
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 12  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от bifidokk Посмотреть сообщение
конечно! вы еще делайте import * будет вам больше 10мб)
Директива import не внедряет сама по себе классы, она лишь делает их "видимыми" для использования.
__________________
Дети не должны знать о своих родителях

Старый 16.11.2012, 13:19
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 13  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
во флэше 3000 кубиков при постоянном вращении дают 15 фпс. уже лучше. но что-то меня берут сомнения. это предел?

Старый 16.11.2012, 14:00
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 14  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Цитата:
import *
Значения не имеет, компилится только то что реально используется
__________________
:)

Старый 16.11.2012, 14:01
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 15  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
хм.... альтернатива сразу отпала. слишком тяжёлая. 10 метров.
Шутите? 10 Метров? Может архив 10 метров, а не сам движок?

Насчет кубиков на сайте у меня есть демка. Там около 500 объектов + 4 источника освещения + одна тень. На среднем ноуте (моём) выдает около 30 фпс.
__________________
hauts.ru

Старый 16.11.2012, 16:06
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 16  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Цитата:
Сообщение от Hauts Посмотреть сообщение
Шутите? 10 Метров? Может архив 10 метров, а не сам движок?

Насчет кубиков на сайте у меня есть демка. Там около 500 объектов + 4 источника освещения + одна тень. На среднем ноуте (моём) выдает около 30 фпс.
Почему так мало? вы каждую модель отдельно добавляете? Могу сделать 50 000 кубиков и будет 60fps

Старый 16.11.2012, 16:07
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 17  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
да. недосмотрел я в архив. это архив весит 10 метров, а сама библиотека 532 килобайта

Добавлено через 42 секунды
Цитата:
Могу сделать 50 000 кубиков и будет 60fps
будьте добры, сделайте демку во флэш билдере! буду сто раз благодарен!

Добавлено через 16 минут
Цитата:
Там около 500 объектов + 4 источника освещения
Мне для моего проекта необходимо иметь до 5000 объектов на экране. Из них 60% прямоугольно подобные, остальные сложные модели до 1000 полигонов.
Источников освещения 3 макс. При этом у каждого объекта 3-5 материалов.

К сожалению не могу это всё промоделировать. Подскажите, с такими условиями фпс будет хороший на средних компах?

Старый 16.11.2012, 16:32
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 18  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Не демку не буду, это сложно и долго, тем более что для Away есть готовые решения. Объясню в чём суть. Все интернет GPU ускоренные технологии этим грешат и флеш и вебГЛ и даже юнити плеер - общение CPU и GPU идёт с большой задержкой по сравнению с приложениями которые стоят локально. Общение это происходит когда отрисовалось содержимое одного буфера вершин и нужно перейти к другому буферу - происходит DrawCall. Вот этих дравколов должно быть как можно меньше. Если мы добавляем объект в контекст как новый объект - он займёт весь буфер и не даст следёющему новому объекту попасть в этот буфер и не важно есть ли в буфере место или нет - каждый новый объект займёт свой отдельный буфер в видеокарте. Таким образом каждый кубик на вашей сцене провоцирует вызов дравкола. Хоть он состоит из 8 вершин, но он у вас занимает целый буфер который может вместит 60 000 вершин вызвав всего 1 дравкол. Так вот можно пихнуть все кубики в один буфер создав из них один объект и с помошью шейдеров вращать их отдельно друг от друга. Есть уже готовые библиотеки для авей и других движков например библиотека по работе с частицами Flint.

Старый 16.11.2012, 16:40
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 19  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
Почему так мало? вы каждую модель отдельно добавляете? Могу сделать 50 000 кубиков и будет 60fps
Мне просто не нужно было больше
__________________
hauts.ru

Старый 16.11.2012, 16:43
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 20  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Цитата:
Сообщение от Hauts Посмотреть сообщение
Мне просто не нужно было больше
Счастливый человек, а то все больше и больше хотят...

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.