static unsafe F createUnsafe(ref MyStruct s1, int x)
{
// почему нету такого типа
// const int _x =x;
F d = (ref MyStruct s) =>
{
//x же константа, и никуда не убежит
//s.x = _x; // есть ли способы?
// по факту сюда просто Il-команду Ldc.I4 n вставить надо
};
return (d);
}
public class UpdateCanvasListener
{
public Action Update { get; private set; }
public EventHandler< SKPaintSurfaceEventArgs> PaintHandler;
public UpdateCanvasListener(EventHandler<SKPaintSurfaceEventArgs> handler)
{
PaintHandler = handler;
}
}
class canvas{
public readonly static DependencyProperty SurfaceListenerProperty
= DependencyProperty.Register(nameof(SurfaceListener),
typeof(UpdateCanvasListener), typeof(FieldCanvas),
new PropertyMetadata(null, new PropertyChangedCallback(initSurfacePaintCommand)));
private static void initSurfacePaintCommand(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
FieldCanvas obj = (FieldCanvas)d;
var handlerOwner = e.NewValue as UpdateCanvasListener;
obj.PaintSurface += handlerOwner?.PaintHandler;
handlerOwner?.GetType().GetProperty("Update", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)?
.SetValue(handlerOwner, obj.InvalidateVisual };
}
}
Почему именно за 100 итераций? Для вычисления конечного значения итерации не нужны, и вы это понимаете, потому что сначала правильно пишите:
c zBuffer. Вот что я не понимаю, почему везде пишут что z буффер дорогой, либо я че-то не так понимаю, либо инфа старая, если он ускоряет в разы все, при экстремальных данных(так понимаю бренч предиктор помогает)
Например такая реализация проверки
А еще есть технология RayTracing А там в какой куда мне рисовать треугольники, Типа вообще не понимаю. Я выпускаю набор по числу пикселей экрана(наверное, не читал особо) лучей, тогда где я буду рисовать линии, если я определяю для точки ее цвет или для набора точек. в ходе обхода, и 10)% перересую тем же значением, только вычисленным через уравнение принадлежности точки к треугольнику. там какой другой конввер выходит.