小编zeb*_*zeb的帖子

C#在发布版本中不起作用

试图在C#应用程序上调试问题,我偶然发现了这个问题,这是导致应用程序出现故障的原因.

基本上我有这个代码:

double scale = 1;
double startScale = 1;
...
scale = (e.Scale - 1) * startScale;
if(scale <= 1)
    scale = 1;
...
Run Code Online (Sandbox Code Playgroud)

发生的事情是,即使scale大于1,例外进入内部如果scale最终为1.

这仅在发布版本中发生.

有没有人知道发生了什么?

编辑

这几乎(只缺少什么都没做的ctor,Xamarin Forms的自定义控件,取自他们的例子来实现捏手势(这里)).

public class PinchView : ContentView
{
    private double StartScale = 1;
    private double CurrentScale = 1;
    private double XOffset = 0;
    private double YOffset = 0;

    ...

    private void PinchGesture_PinchUpdated(object sender, PinchGestureUpdatedEventArgs e)
    {
        if (e.Status == GestureStatus.Started)
        {
            // Store the current …
Run Code Online (Sandbox Code Playgroud)

c# release-builds xamarin.forms

13
推荐指数
1
解决办法
736
查看次数

没有OpenGL的重复OpenGL正交投影行为

我在没有OpenGL的环境中尝试复制OpenGL行为时遇到了问题.

基本上我需要从我的程序创建的行列表中创建一个SVG文件.这些线是使用othigraphic投影创建的.

我确信这些行是正确计算的,因为如果我尝试将它们与具有正交投影的OpenGL上下文一起使用并将结果保存到图像中,则图像是正确的.

当我使用完全相同的行而没有OpenGL时,问题就出现了.

我复制了OpenGL投影和查看矩阵,我处理每个线点,如下所示:

3D_output_point = projection_matrix * view_matrix * 3D_input_point
Run Code Online (Sandbox Code Playgroud)

然后我像这样计算它的屏幕(SVG文件)位置:

2D_point_x = (windowWidth / 2) * 3D_point_x + (windowWidth / 2)
2D_point_y = (windowHeight / 2) * 3D_point_y + (windowHeight / 2)
Run Code Online (Sandbox Code Playgroud)

我像这样计算othographic投影矩阵:

float range = 700.0f;
float l, t, r, b, n, f;

l = -range;
r = range;
b = -range;
t = range;
n = -6000;
f = 8000;

matProj.SetValore(0, 0, 2.0f / (r - l));
matProj.SetValore(0, 1, 0.0f);
matProj.SetValore(0, 2, 0.0f);
matProj.SetValore(0, 3, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl matrix

10
推荐指数
1
解决办法
373
查看次数

是glBufferSubData还是glMapBuffer更好

为了更新我的统一缓冲区对象,我使用glBufferSubData。是使用glBufferSubData还是glMapBuffer使用起来更快glUnmapBuffer

opengl

6
推荐指数
1
解决办法
5884
查看次数

Typescript 将 null 分配给接口

这可能是一个愚蠢的问题,但我不知道如何设置声明null为接口类型的变量的值。

下面是我的意思的一个例子:

interface IMyInterface {
    field: any;
}

let test:IMyInterface = null; // <-- Compiler error: Type 'null' is not assignable to type 'IMyInterface'
Run Code Online (Sandbox Code Playgroud)

interface typescript

6
推荐指数
2
解决办法
2万
查看次数

OpenGL 单个 VBO 与多个 VBO

目前,在我的渲染引擎中,我为每个网格数据都有一个 VBO(1 个 VBO 用于顶点,1 个 VBO 用于法线,1 个 VBO 用于纹理坐标,1 个 VBO 用于切线,1 个 VBO 用于双切线),并且所有这些都与一个VAO。

我现在正在考虑更改系统以保存包含所有网格数据(顶点、法线等)的单个 VBO,但是我将从中获得多少收益?谈论速度和实用性(因为如果我的网格没有纹理,我可能没有所有数据并且仅提供顶点和法线)。

c++ opengl rendering

5
推荐指数
1
解决办法
1429
查看次数

Haskell无法匹配类型

我仍然是Haskell的初学者,我有这段代码,但ghc不编译并给我一个错误

这是代码:

data QT a = C a | Q (QT a) (QT a) (QT a) (QT a) deriving (Show)

moltiply :: QT a -> Int -> QT a
moltiply (C a) x = (C (a * x))
moltiply (Q a b c d) x = Q (moltiply a x) (moltiply b x) (moltiply c x) (moltiply d x)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Couldn't match expected type ‘a’ with actual type ‘Int’
      ‘a’ is a rigid type variable bound by
          the type signature …
Run Code Online (Sandbox Code Playgroud)

haskell

4
推荐指数
1
解决办法
175
查看次数

使用boost :: python将具有std :: function作为参数的C++成员函数公开

我有一个包含std :: function属性的类.我使用成员函数设置此属性的值,因此该类看起来像这样:

class ClassName
{    
public:
    void SetCallbackFunction(std::function<void (int i)> callbackFun) {
        m_callbackFunction = callbackFun;
    }

protected:
    std::function<void (int i)> m_callbackFunction;
};
Run Code Online (Sandbox Code Playgroud)

我需要将这个类暴露给Python,当然,我需要公开该SetCallbackFunction函数.我怎么能用boost :: python做到这一点?

c++ python boost boost-python c++11

1
推荐指数
1
解决办法
908
查看次数