小编Dan*_*rod的帖子

如何在XNA中使用着色器为单个像素着色?

我的XNA项目中有一个标准的800x600窗口.我的目标是根据一个保持布尔值的矩形数组为每个像素着色.目前我正在使用1x1纹理并在我的数组中绘制每个精灵.

我是XNA的新手,来自GDI背景,所以我正在做我在GDI中所做的事情,但它不能很好地扩展.我在另一个问题中被告知要使用Shader,但经过大量研究后,我仍然无法找到如何实现这个目标.

我的应用程序循环遍历矩形数组的X和Y坐标,根据每个值进行计算,并重新分配/移动数组.最后,我需要用新值更新我的"画布".我的数组的一个较小的样本看起来像:

0,0,0,0,0,0,0
0,0,0,0,0,0,0
0,0,0,0,0,0,0
1,1,1,1,1,1,1
1,1,1,1,1,1,1
Run Code Online (Sandbox Code Playgroud)

如何使用着色器为每个像素着色?

一个非常简化的计算版本是:

        for (int y = _horizon; y >= 0; y--)  // _horizon is my ending point
        {
            for (int x = _width; x >= 0; x--) // _width is obviously my x length.
            {
                if (grains[x, y] > 0)
                {
                    if (grains[x, y + 1] == 0)
                    {
                        grains[x, y + 1] = grains[x, y];
                        grains[x, y] = 0;
                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

..每次调用更新方法,执行计算时,在上述循环的示例中,更新可能如下所示:

初始:

0,0,0,1,0,0,0
0,0,0,0,0,0,0
0,0,0,0,0,0,0
1,1,1,0,1,1,1
1,1,1,1,1,1,1
Run Code Online (Sandbox Code Playgroud)

第一: …

c# shader xna

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

如何从Spark Dataframe的列中的Vector中提取值

使用SparkML预测标签时,结果Dataframe是:

scala> result.show
+-----------+--------------+
|probability|predictedLabel|
+-----------+--------------+
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.1,0.9]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.0,1.0]|           0.0|
|  [0.1,0.9]|           0.0|
|  [0.6,0.4]|           1.0|
|  [0.6,0.4]|           1.0|
|  [1.0,0.0]|           1.0|
|  [0.9,0.1]|           1.0|
|  [0.9,0.1]|           1.0|
|  [1.0,0.0]|           1.0|
|  [1.0,0.0]|           1.0|
+-----------+--------------+
only showing top 20 rows
Run Code Online (Sandbox Code Playgroud)

我想用一个名为prob的新列创建一个新的Dataframe,它是原始Dataframe的Vector in probability列中的第一个值,例如:

+-----------+--------------+----------+
|probability|predictedLabel|   prob   |
+-----------+--------------+----------+ …
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark apache-spark-sql apache-spark-mllib

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

如何在视图中创建非空列

给出如下表:

CREATE TABLE "MyTable" 
(
  "MyColumn" NUMBER NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想创建一个视图,如:

CREATE VIEW "MyView" AS
SELECT
    CAST("MyColumn" AS BINARY_DOUBLE) AS "MyColumn"
FROM "MyTable";
Run Code Online (Sandbox Code Playgroud)

仅在"MyColumn"列为"NOT NULL"的位置.

在SQL Server中,这非常简单:

CREATE VIEW [MyView] AS
SELECT
    ISNULL(CAST([MyColumn] AS Float), 0.0) AS [MyColumn]
FROM [MyTable];
Run Code Online (Sandbox Code Playgroud)

但是,Oracle等效项会产生"NULL"列:

CREATE VIEW "MyView" AS
SELECT
    NVL(CAST("MyColumn" AS BINARY_DOUBLE), 0.0) AS "MyColumn"
FROM "MyTable";
Run Code Online (Sandbox Code Playgroud)

反正是否强制Oracle将视图的列标记为元数据中的"NOT NULL"?

oracle casting oracle10g sql-view

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

使用 python 进行 Spark 流:如何添加 UUID 列?

我想在我的数据框中添加一个带有生成 id 的列。我试过了:

uuidUdf = udf(lambda x: str(uuid.uuid4()), StringType())
df = df.withColumn("id", uuidUdf())
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我的输出目录中没有写入任何内容。当我删除这些行时,一切正常,所以一定有一些错误,但我在控制台中没有看到任何内容。

我曾尝试使用 monotonically_increasing_id() 而不是生成 UUID,但在我的测试中,这会产生许多重复项。我需要一个唯一标识符(不必专门是 UUID)。

我怎样才能做到这一点?

python uuid apache-spark pyspark

9
推荐指数
3
解决办法
9290
查看次数

Cassandra CQL - NoSQL或SQL

我是Cassandra的新手,一周前开始学习Cassandra.我第一次看到它是NoSQL,但是当我开始使用CQL时,我开始怀疑Cassandra是NoSQL还是SQL DB?

有人可以解释为什么CQL或多或少像SQL?

sql cassandra nosql

8
推荐指数
3
解决办法
1万
查看次数

实体框架"无效的列名称"

我们已经将现有数据库转换为使用EF,因此我们编写类来映射到我们的表.我添加了一个新列,一个名为'iframeVideoId'的可空int.我用它绘制了它

public int? iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)

当我搜索那张桌子的时候,它爆炸了

无效的列名称'错误

.这是一个简单的属性,它不是索引或与任何其他表相关.我尝试将它在DB中重命名为' DisplayVideo',并使其不可为空.然后我有

[Column("DisplayVideo")]
public int iframeVideoId { get; set; }
Run Code Online (Sandbox Code Playgroud)

现在我收到DisplayVideo不是有效列的错误.当然,我已经仔细检查过我指向正确的数据库,并确认我的代码COULD指向的每个数据库都有此列.我也做了一个干净的重建,并重新启动了我的机器.可能有什么不对?这是一个基本专栏,它就在那里.我从过去的经验中知道,如果类型不匹配(它们都是int),我会得到与类型之间转换失败相关的错误.这对我来说毫无意义.我没有要刷新的edmx文件,因为我们正在编写类来直接映射到DB

只是添加,我将列更改为字符串,它没有任何区别.这是一个新的专栏,具有简单的价值,EF声称它不存在.

并且,我将列添加到另一个表(显然是次优的),并且它立即工作.我仍然想知道为什么我有一个表我不能在EF中添加列

entity-framework ef-code-first

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

发送电子邮件是否属于应用程序的表示层或业务层?

我试图找出放置代码以在我的Asp.net MVC应用程序中发送电子邮件的最佳区域.现在我的应用程序设置在2个VS项目中,将业务层与表示层分开.我试图设置一种情况,当用户重置其密码时,在业务逻辑更改密码后,服务器将使用新生成的密码向用户发送电子邮件.

我是否应该调用代码从业务层(业务层重置密码之后)或在表示层(业务层返回成功结果之后)发送电子邮件(包括电子邮件的外观数据)?

architecture email asp.net-mvc

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

C#中的struct marshal

我在C#中有以下结构

unsafe public struct control
    {
        public int bSetComPort;
        public int iComPortIndex;
        public int iBaudRate;
        public int iManufactoryID;
        public byte btAddressOfCamera;
        public int iCameraParam;
        public byte PresetNum;
        public byte PresetWaitTime;
        public byte Group;
        public byte AutoCruiseStatus;
        public byte Channel;
        public fixed byte Data[64];
    }
Run Code Online (Sandbox Code Playgroud)

我用来将它转换为字节数组[]的函数是

 static byte[] structtobyte(object obj)
    {
        int len = Marshal.SizeOf(obj);
        byte[] arr = new byte[len];
        IntPtr ptr = Marshal.AllocHGlobal(len);
        Marshal.StructureToPtr(obj, ptr, true);
        Marshal.Copy(ptr, arr, 0, len);
        Marshal.FreeHGlobal(ptr);
        return arr;
    }
Run Code Online (Sandbox Code Playgroud)

当我编译它给

Type 'System.Byte[]' cannot be marshaled …
Run Code Online (Sandbox Code Playgroud)

c# arrays interop struct marshalling

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

实体框架多对象上下文

这个问题已经以50种不同的方式被问到了500个不同的时间......但是这里又一次,因为我似乎无法找到我正在寻找的答案:

我正在使用EF4和POCO代理.

答:我有一个从ObjectContext的一个实例中获取的对象图.该ObjectContext被释放.

B.我有一个从ObjectContext的另一个实例获取的对象.ObjectContext也被处理掉了.

我想在A中使用B中的实体设置一堆相关的属性....类似于

foreach(var itemFromA in collectionFromA)
{
   itemFromA.RelatedProperty = itemFromB;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到了例外:

System.InvalidOperationException occurred
  Message=The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects.
  Source=System.Data.Entity
  StackTrace:
       at System.Data.Objects.DataClasses.RelatedEnd.Add(IEntityWrapper wrappedTarget, Boolean applyConstraints, Boolean addRelationshipAsUnchanged, Boolean relationshipAlreadyExists, Boolean allowModifyingOtherEndOfRelationship, Boolean forceForeignKeyChanges)
       at System.Data.Objects.DataClasses.RelatedEnd.Add(IEntityWrapper wrappedEntity, Boolean applyConstraints)
       at System.Data.Objects.DataClasses.EntityReference`1.set_ReferenceValue(IEntityWrapper value)
       at System.Data.Objects.DataClasses.EntityReference`1.set_Value(TEntity value)
       at 
Run Code Online (Sandbox Code Playgroud)

我想我需要将这些实体从ObjectContexts中分离出来,以便上面的代码可以工作......问题是,当它处理时从我的ObjectContext中分离所有实体似乎会破坏图形.如果我这样做:

objectContext.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified | EntityState.Unchanged)  
.Select(i => i.Entity).OfType<IEntityWithChangeTracker>().ToList()  
.ForEach(i => objectContext.Detach(i));
Run Code Online (Sandbox Code Playgroud)

图中的所有关系似乎都未被设置.

我怎样才能解决这个问题?

.net c# architecture entity-framework entity-framework-4

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

首先从EF 6.1代码生成SQL视图

我刚刚将数据库从数据库首先更改为代码!部署有多大改进!但现在我有以下问题.我从我的数据库生成了我的代码优先模型,但是在从生成的代码重新创建数据库后,我的数据库中的视图就像表一样生成了!

如何首先从代码生成我的视图?和/或如果我需要手动生成它们,将它们映射到我的实体?

编辑.

Luke McGregor的帖子肯定让我很亲近.是的,它现在生成视图.但迁移不起作用.

尝试执行Update-Database语句时,初始输出仍然是代码更改.

因此,我执行了Add-Migration xxx命令并再次触发了Update-Database命令.

编辑2:

解决我的代码优先代码和视图的SQL代码之间的一些差异解决了这个问题!

c# entity-framework entity-framework-6.1

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