小编Ste*_*eve的帖子

将预编译的HLSL着色器加载到内存中以与CreatePixelShader一起使用

我需要将一个已编译的像素着色器加载到内存中以与CreatePixelShader一起使用,但我不能使用任何 D3DX调用.

我怎样才能做到这一点?

(我使用Visual Studio 2010作为编译器,使用C++作为语言)

c++ direct3d hlsl

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

具有多个模板的 ASP 中继器控件

我怎样才能有一个带有多个模板的转发器控件,其中选择的模板基于项目的类型?

这是我目前所拥有的:

我的中继类:

[ToolboxData("<{0}:LifestreamRepeater runat=server>")]
public class LifestreamRepeater : Repeater
{

    [PersistenceMode(PersistenceMode.InnerProperty)]
    public ITemplate TwitterTemplate {get; set;}


    protected override void OnDataBinding(EventArgs e)
    {
        //base.OnDataBinding(e);
        foreach (var item in (IEnumerable<LifestreamItem>)this.DataSource)
        {
            if (item is LifestreamTwitterItem)
            {
                LifestreamRepeaterItem ri = new LifestreamRepeaterItem(item);
                TwitterTemplate.InstantiateIn(item);
            }
            else
            {
                ItemTemplate.InstantiateIn(item);
            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

和前端:

        <lfs:LifestreamRepeater runat="server" ID="repeater1">
            <TwitterTemplate>
                <div class="Lifestream Twitter Item">
                    <h4> <%# DataBinder.Eval(Container.DataItem, "Title")%> </h4>
                    <p>  <%# DataBinder.Eval(Container.DataItem, "Body")%> </p>
                </div>
            </TwitterTemplate>
            <ItemTemplate>
                <div class="Lifestream Item">
                    <h2> <%# DataBinder.Eval(Container.DataItem, "Title")%> </h2>
                    <p> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net razor

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

使用nodegit在所有分支上获取所有提交

我正在写一个小应用程序,用于分析文件夹内的git存储库。我正在使用nodegit来解析基于libgit2的仓库。

如何使用nodegit从仓库中的所有分支获取所有提交?

这是我当前的代码:

var git = require('nodegit');
var fs = require('fs');
var path = require('path');

var getDirectories = function(srcpath) {
    return fs.readdirSync(srcpath).filter(function(file) {
        return fs.statSync(path.join(srcpath, file)).isDirectory();
    });
}

var getData = function(srcDir) {

    var repos = getDirectories(srcDir);
    var globalCommits = [];

    var promises = repos.map(repoName => {
        return git.Repository.open(path.join(srcDir, repoName)).then(function(repo) {
            var walker = git.Revwalk.create(repo);
            walker.pushHead();
            return walker.getCommitsUntil(c => true).then(function (commits) {
                var cmts = commits.map(x => ({
                    sha:  x.sha(),
                    msg: x.message().split('\n')[0],
                    date: x.date(),
                    author: x.author(),
                    repo: repoName …
Run Code Online (Sandbox Code Playgroud)

git nodegit

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

尝试使用Effort创建上下文时,Entity Framework 6会引发迁移异常

我正在尝试使用Effort来测试我的应用程序但是如果在上下文中启用了代码优先迁移,那么它会抛出以下异常:

System.InvalidOperationException:为上下文"XDbContext"启用了迁移,但数据库不存在或不包含映射表.使用迁移创建数据库及其表,例如通过从程序包管理器控制台运行"Update-Database"命令.

如果我禁用迁移,那么一切正常.

为了我的测试目的,我如何阻止实体考虑迁移.

asp.net-mvc entity-framework-6 effort

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

如何在svg圆形笔划上创建插入阴影?

如何在SVG中创建以下小部件?

http://i.imgur.com/zowzFQz.png

我对形状本身很好,但我正在与后面的圆圈上的插入阴影挣扎.

我已经尝试了一个径向渐变,它"有效",但它看起来并不那么好,我必须按千分之一百分数的顺序摆弄它才能完全正确,它只是感觉完全是hacky.

有没有更好的办法?

生成SVG的代码:

<svg width="180" height="180" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <circle cx="90" cy="90" r="72" fill="none" stroke="#ddd" stroke-width="18"></circle>
  <path class="main-arc" d="M 90 18 A 72 72 0 1 1 85.47908259388944 18.142075553164446" fill="transparent" stroke-width="18" stroke="black" stroke-linecap="round" style="stroke-dasharray: 452.389; stroke-dashoffset: 366.435;">
  </path>
</svg>
Run Code Online (Sandbox Code Playgroud)

css svg svg-filters

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

处理在XNA中调整窗口和RenderTargets的大小

我正在为我的XNA游戏设计一个gui系统.窗口可以在运行时动态调整大小,"桌面"可以很好地调整大小.

但是我的渲染现在使用渲染目标来渲染窗口和效果.如果窗口或任何组件调整大小如何处理渲染目标?无法动态调整大小并在每个循环中创建新的大小都会非常低效.

c# xna xna-4.0

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

c ++和c#之间的伪随机不一致

我正在尝试将伪rand函数从c ++转换为c#,但它似乎没有返回正确的值.重要的是我使用一致的加密集,所以我不能使用随机数.

这是c ++中的函数.

int get_pseudo_rand()
{
  return( ((_last_rand = _last_rand * 214013L
     + 2531011L) >> 16) & 0x7fff );
}
Run Code Online (Sandbox Code Playgroud)

这是我的c#替代品

int get_pseudo_rand()
{
  return (((_last_rand = (_last_rand * 214013 + 2531011) >> 16) & 0x7fff));
}
Run Code Online (Sandbox Code Playgroud)

我删除了Ls,因为c#的int数据类型是4个字节,如c ++ long,而c#s long是8个字节.

第一次从种子运行函数时,答案与c ++版本一致,但随后它开始出现分歧.

有任何想法吗?

c# c++

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

如何在javascript/lodash中将字符串数组转换为键控对象

鉴于阵列:

var arr = [ "one", "two", "three" ];
Run Code Online (Sandbox Code Playgroud)

什么是最简单的方法将其转换为:

{ "one": true, "two": true, "three": true }
Run Code Online (Sandbox Code Playgroud)

我试过以下但我想有更好的方法.

 _.zipObject(arr || {}, _.fill([], true, 0, arr.length))
Run Code Online (Sandbox Code Playgroud)

javascript lodash

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