Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: шейдеры и 3D в WPF
     
    
Добавлено: 19.02.11 15:09
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 VβÐUηìt | Web-сайт: смекаешь.рф
      
       
  
Народ, есть ли сейчас нормальная реализация теней в WPF? То есть на любые поверхности любой кривизны, а не псевдо подделки. В 4 ввели шейдеры, навернякака уже что-то запилили. 
    
Заранее благодарен
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 27
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 AWP
![]()
ICQ: 345685652 
Вопросов: 96
Ответов: 1212
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  19.02.11 16:27
       
    
       
  
Просто знаю, что у многих людей тут любовь к этому сайту.
 
    
Хотел их порадовать.
http://tinyurl.com/6dmczvz
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #2
      
Добавлено:  19.02.11 17:02
       
    
       
  
*3D я имею в виду. 
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  19.02.11 18:58
       
    
       
  
Ну?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 VbStarter
![]()
ICQ: 357911808 
Вопросов: 118
Ответов: 1340
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  19.02.11 19:20
       
    
       
  
я баранки не гну  
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  19.02.11 21:13
       
    
       
  
Пиплы, давайте по делу.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 Artyom
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #6
       
Добавлено:  19.02.11 21:37
       
    
       
  
dude, за тебя вбить в гугле wpf shadow 3d?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #7
      
Добавлено:  19.02.11 23:14
       
    
       
  
Думаешь, не вбивал? Самое кошерное, что я нашел - это пример с убогим подобием шадоумаппинга на плосскость. Я имею ввиду что-нибудь трассифировачно-образное и полноценное.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 Sharp
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #8
      
Добавлено:  20.02.11 01:34
       
    
       
  
Лучше шадоумаппинга для реалтаймового рендеринга пока ничего не придумали  
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 Artyom
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #9
       
Добавлено:  20.02.11 02:02
       
    
       
  
Я в гугле видел пример Птецольда, вполне себе похожий на тень, отброшеную куда-то.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #10
      
Добавлено:  20.02.11 11:37
       
    
       
  
 
    
Лучше шадоумаппинга для реалтаймового рендеринга пока ничего не придумали  
Ну отчаст я согласен. Но шадоумапинг позволяет накладывать тени на неплосские объекты (отличные от плосскости). А этот пример - нет. А так - в GTA4 помоему что-то покруче шадоумаппинга, очень смахивает на трассифировку. Ибо качественно, особенно когда кто-то гуляет ночью перед включенными фарами автомобиля.
Типа строем сначала всю картинку обычным способом, а потом трассифировкой накладываем трассифированные тени. Только с разрешением в 20 раз ниже, чем у экрана, а затем блюрим. После этого каждый пиксель тени поворачивается под углом той поверхности, на которой лежит - получается ку. Тени сделаны естественно шейдером, сомневаюсь, что там участвует процессор, поэтому что-то подобное хотелось бы чтобы было. Почему это все конкретно в гта делается именно так, или примерно так, я обосновываю: а) сам бы сделал так б) если включить режим стереоскопии, то все изображение в гта становится объемным, за исключением теней.
Пока искал, нашел даже трассифировку лучей на LINQ(!), а вот нормальных теней не нашел.
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 Artyom
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #11
       
Добавлено:  20.02.11 22:55
       
    
       
  
Могу предположить, что трассировка лучей достаточно тяжелый алгоритм для реалтайма. Тем более чтоб его делать на LinQ, который имеет нехилый оверхерд.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #12
      
Добавлено:  20.02.11 23:33
       
    
       
  
Трассифировка лучей LINQ одним запросом, разумеется, не самый оптимальный вариант  
    
 Кадр 500x500 без сглаживания делается за 2 секунды на Core2Quad 3.0 ГГц - вполне кошерно.
Для теней можно во-первых, уменьшать разрешение слоя в 3-4 раза - похер, что будут размытые (пиксели повернем, а может так оставим), во-вторых делать это шейдером. Тобишь быстро. На системные требования можно почти забить, это дело должно обрабатывать 30 двумегапиксельных 32-битных кадров в секунду со сглаживанием в реалтайме без тормозов с запасом ресурсов, поэтому комп будет соответствующий под это дело.
Обмазываться векторной алгеброй и делать свой шейдер как-то нехочется 
, что там по поводу WPF5? Вроде обещали существенно все допилить, всякие отражения, реализм и прочую лабуду...
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа:
 AgentFire
![]()
![]()
![]()
ICQ: 192496851 
Вопросов: 75
Ответов: 3178
      
 Профиль |  | #13
       
Добавлено:  21.02.11 10:10
       
    
       
  
а че вам, директ икса 9го мало да 
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа:
 VβÐUηìt
![]()
![]()
![]()
Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #14
      
Добавлено:  21.02.11 16:57
       
    
       
  
9 то точно мало, ибо тесселяцию с унифицированными шейдерами никто не отменял. Но это если уж брать директ икс. А по сути он не нужен, ибо нужно чтобы разработка была возможна за короткое время. Как самой программы, так и сцен, а так же редактора для сцен.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа:
 AgentFire
![]()
![]()
![]()
ICQ: 192496851 
Вопросов: 75
Ответов: 3178
      
 Профиль |  | #15
       
Добавлено:  21.02.11 17:38
       
    
       
  
 ну не знаю, помоему MDX весьма компактен в программировании