Существует ли действительно хорошая книга о трассировке лучей? [закрытый]

Основная проблема реализации 1 состоит в том, что строковым параметром вашего метода OnPropertyChanged должно быть точное имя свойства, которое изменяется. Для ваших двух примеров "model_changed" следует изменить на "Model", а "name_changed" - "Name". Вот два отличных метода, чтобы смягчить потенциальную человеческую ошибку с помощью набора буквенных имен строк:

1. Используйте атрибут CallerMemberName

Если вам разрешено и у вас есть доступ к пространству имен System.Runtime.CompilerServices, вы можете написать свой базовый класс как таковой, чтобы имя свойства автоматически передавалось как строковый параметр OnPropertyChanged method:

using System.ComponentModel;
using System.Runtime.CompilerServices;

public class Notifier : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged([CallerMemberName] string pName = "")
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(pName));
    }
}

Затем вы можете просто позвонить OnPropertyChanged() в получатель вашей собственности.

2. Используйте ключевое слово nameof

В качестве альтернативы, вы можете просто заменить имя свойства с буквенным типом на nameof(<InsertPropertyNameHere>), которое будет возвращать имя без какого-либо риска опечатки, как в этом примере:

[111 ]
8
задан Peter Mortensen 2 April 2011 в 15:00
поделиться

4 ответа

Фарр и Humphreys, "физически основанный рендеринг", Morgan-Kaufman 2004

Wann Jensen, "реалистический синтез изображений Используя отображение фотона", AK Peters, 2001

Dutré, Бала и Baekert, "усовершенствованное глобальное освещение", AK Peters, 2006

9
ответ дан 5 December 2019 в 06:54
поделиться

Я могу рекомендовать Физически Основанный Рендеринг Фарром и Humphreys, который включает полный рендерер, записанный в C++ с помощью литературных методов программирования.

5
ответ дан 5 December 2019 в 06:54
поделиться

Не книга, но место, где я узнал все о трассировке лучей - Персистентность видения (POV).

1
ответ дан 5 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: