我厌倦了在我的项目中添加十个链接库,或者要求其中八个使用我自己的链接库.我想使用现有的库,如libpng.a,libz.a,libjpeg.a,并将它们组合成一个.a库.那可能吗?如何组合.lib库?
我想知道如果我使用自己的算法预生成它们而不是内置的自动算法,纹理mipmap的质量是否会更好.我可能会使用一个缓慢而漂亮的算法,比如Lanczos重新采样.
是否有意义?我会在现代显卡上获得任何质量提升吗?
比方说,举个例子:
int main()
{
char* test = new char[50000];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
程序完成后分配的内存会发生什么变化?是否立即获得其他应用程序的释放?或者也许过了一段时间?或许它永远丢失在系统中?或者它是否被交换到磁盘永远不会返回到RAM?或者也许完全不同的东西?
我想知道主要3操作系统会发生什么:Windows(XP及以上,如果有任何差异),Linux,Mac OS X.
我的代码中有类似的东西:
#include <iostream>
#include <cstdlib>
struct Base
{
virtual int Virtual() = 0;
};
struct Child
{
struct : public Base
{
virtual int Virtual() { return 1; }
} First;
struct : public Base
{
virtual int Virtual() { return 2; }
} Second;
};
int main()
{
Child child;
printf("ble: %i\n", ((Base*)&child.First)->Virtual());
printf("ble: %i\n", ((Base*)&child.Second)->Virtual());
system("PAUSE");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望这会给出这个输出:
ble: 1
ble: 2
Run Code Online (Sandbox Code Playgroud)
当它在GCC下编译时(3.4.5我相信).
但是,在Visual Studio 2008下编译并运行它,可以得到:
ble: 2
ble: 2
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我给出Base-derived structs names(struct s1 : …
是否可以在iPhone(2G及更早版本)上使用OpenGL ES 1.1渲染纹理?如果我将纹理绑定为渲染缓冲区,则它必须是渲染缓冲区的大小,而不是POT大小.但OpenGL ES 1.1要求纹理为POT.
也许它不能在ES 1.1上完成?
有没有办法只使用ActionScript在DisplayObject或Shape中绘制文本?我可以在网上找到的唯一方法是创建一个TextField,但我不能将TF添加到DisplayObject或Shape.
编辑:
解决了感谢viatropos.
对于任何有兴趣的人:
DisplayObject工具IBitmapDrawable能够作为参数传递给传递draw一个的功能BitmapData对象,然后可以使用绘制graphics.beginBitmapFill.
var textfield:TextField = new TextField;
textfield.text = "text";
var bitmapdata:BitmapData = new BitmapData(theWidth, theHeight, true, 0x00000000);
bitmapdata.draw(textfield);
graphics.beginBitmapFill(bitmapdata);
graphics.drawRect(0, 0, theWidth, theHeight);
graphics.endFill();
Run Code Online (Sandbox Code Playgroud) 我正在编写一个类似于Flash和Java的浏览器插件,因为它一出现就开始下载文件(.jar或.swf).Java等待(我相信)直到加载整个jar文件,但Flash不会.我想要相同的能力,但使用压缩的存档文件.我想在下载解压缩所需的字节后立即访问存档中的文件.
例如,我将存档下载到内存缓冲区,只要第一个文件可以解压缩,我希望能够将其解压缩(也可以解压缩到内存缓冲区).
有没有支持这种格式/库?
编辑:如果可能的话,我更喜欢单个文件格式而不是单独的文件格式用于压缩和存档,如gz/bzip2和tar.
对不起复杂的标题.我有这样的事情:
class Base
{
public:
int SomeMember;
Base() : SomeMember(42) {}
virtual int Get() { return SomeMember; }
};
class ChildA : public Base
{
public:
virtual int Get() { return SomeMember*2; }
};
class ChildB : public Base
{
public:
virtual int Get() { return SomeMember/2; }
};
class ChildC : public Base
{
public:
virtual int Get() { return SomeMember+2; }
};
Base ar[] = { ChildA(), ChildB(), ChildC() };
for (int i=0; i<sizeof(ar)/sizeof(Base); i++)
{
Base* ptr …Run Code Online (Sandbox Code Playgroud) 我和我的朋友正处于创建一个专门为游戏编程而设计的领域专用语言的第一阶段.
语言将相当低级,它将具有类似C的语法,可选的垃圾收集,并将面向具有很少内存或处理能力的系统(即Nintendo DS),但应该足够强大以便于PC发展很容易.它不是脚本语言,而是编译语言,但由于我们不想花费数月时间编写普通编译器,因此第一个实现基本上是一个LanguageName-to-C转换器,以TCC或GCC作为结束编译器.
现在,我对你们所有的游戏程序员都有一个问题:
你想用这种语言看到什么?哪些功能,实现和语法方面最适合它?要避免什么?
编辑:
我们已经想到的一些事情:
function retType name(type arg) is (qualifier, list) { };无const,static,public,等限定词除了在预选赛名单的任何地方)我有一个像这样的非正方形数组:
const int dim1 = 3, dim2 = 4;
int array[12] = { 1, 2, 3,
4, 5, 6,
7, 8, 9,
10,11,12};
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为:
{3,6,9,12,
2,5,8,11,
1,4,7,10}
Run Code Online (Sandbox Code Playgroud)
也就是说,逆时针旋转/移动它(或顺时针方向,算法应该类似).
该算法应使用最小量的空间.我必须在极其受内存限制的环境中旋转图像,因此空间越小越好.速度不是一个大问题.