首页
社区
课程
招聘
[未解决,已结帖] [原创]CS单机 1.5 或 1.6 Dx 方框绘制源码。 20.00雪花
发表于: 2018-1-30 17:42 5055

[未解决,已结帖] [原创]CS单机 1.5 或 1.6 Dx 方框绘制源码。 20.00雪花

2018-1-30 17:42
5055
代朋友找。单机就行。要Dx模式。
-------------------------------------------------------------
结贴:已经在油管找到老外的视频教程。
附上连接:9d9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6L8%4g2@1N6h3u0W2i4K6u0W2j5$3!0E0i4K6u0r3N6i4y4W2M7W2)9J5c8V1H3@1c8p5H3@1c8o6u0q4g2g2u0a6f1p5f1`.

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

最后于 2018-3-15 10:07 被qqwawzymu编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 12862
活跃值: (9282)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
2
那个太底层了。要搞这些功能直接调gEngfuncs里的triapi和WorldToScreen,都是导出的
基础教程移步269K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1K9h3g2T1j5g2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0f1I4y4K6M7@1x3U0p5@1x3K6t1`.
2018-1-31 14:27
0
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
hzqst 那个太底层了。要搞这些功能直接调gEngfuncs里的triapi和WorldToScreen,都是导出的 基础教程移步f10K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1K9h3g2T1j5g2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0f1I4y4K6M7@1x3U0p5@1x3K6t1`.
CS是表哥老本行哇
2018-1-31 15:06
0
雪    币: 96
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没有视频资料什么的,但可以现教
2018-2-1 02:10
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
hzqst 那个太底层了。要搞这些功能直接调gEngfuncs里的triapi和WorldToScreen,都是导出的 基础教程移步a28K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1K9h3g2T1j5g2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0f1I4y4K6M7@1x3U0p5@1x3K6t1`.
主要是学习代码,如果都用插件实现和只用成品没区别呢。
2018-2-3 16:21
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
wx_刹那轮回 没有视频资料什么的,但可以现教
有详细的代码就好。
2018-2-3 16:21
0
雪    币: 12862
活跃值: (9282)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
7
qqwawzymu 主要是学习代码,如果都用插件实现和只用成品没区别呢。
这个游戏的D3D是用DX7模拟OpenGL的,很多东西完全过时了,非常不适合用来做D3D方面的学习,你研究这个的渲染层就好比学c语言用vc6一样。你要学也最起码从DX9学起吧,更何况现在的游戏普遍都是DX11了。
2018-2-3 18:01
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
hzqst 这个游戏的D3D是用DX7模拟OpenGL的,很多东西完全过时了,非常不适合用来做D3D方面的学习,你研究这个的渲染层就好比学c语言用vc6一样。你要学也最起码从DX9学起吧,更何况现在的游戏普遍都是 ...
主要想学习理解  WorldToScreen  这个过程, 我需要一个实质可运行代码作为学习参考。
希望更好的理解  WorldToScreen  的坐标转换过程。再者学习到视觉远近的算法。
感谢您的一直关注。但你给的连接代码中,没看到有 WorldToScreen 的使用过程。

2018-2-5 08:46
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我最近做过。但是没有使用WorldToScreen。因为不会用。我用的是比较麻烦的方式,先通过ce找出人物坐标,FOV,鼠标xy基址,然后还要获取游戏分辨率,通过算法将3维坐标转换成屏幕坐标。但是这种方法画出的方框有一个缺点就是比较抖,因为是通过人物鼠标的xy坐标是经常变化的,经常打一枪就变化一下。比较正确的做法应该是hookd3d的模型id获取相应数据再绘制图像。
2018-2-5 09:29
0
雪    币: 12862
活跃值: (9282)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
10
qqwawzymu hzqst 这个游戏的D3D是用DX7模拟OpenGL的,很多东西完全过时了,非常不适合用来做D3D方面的学习,你研究这个的渲染层就好比学c语言用vc6一样。 ...
float gWorldToScreen[16];
float gScreenToWorld[16];

void R_SetupGL (void)
{
//some code...

	if (gl_flipmatrix.value)
	{
		for (i = 0; i < 16; i += 4)
		{
			for (j = 0; j < 4; j++)
			{
				gWorldToScreen[i + j] = 0;

				for (k = 0; k < 4; k++)
					gWorldToScreen[i + j] += gProjectionMatrix[i + k] * r_world_matrix[k * 4 + j];
			}
		}
	}
	else
	{
		for (i = 0; i < 16; i += 4)
		{
			for (j = 0; j < 4; j++)
			{
				gWorldToScreen[i + j] = 0;

				for (k = 0; k < 4; k++)
					gWorldToScreen[i + j] += r_world_matrix[i + k] * gProjectionMatrix[k * 4 + j];
			}
		}
	}

	InvertMatrix(gWorldToScreen, gScreenToWorld);
}

int ScreenTransform( vec3_t point, vec3_t screen )
{
	float w;

	screen[0] = gWorldToScreen[0] * point[0] + gWorldToScreen[4] * point[1] + gWorldToScreen[8] * point[2] + gWorldToScreen[12];
	screen[1] = gWorldToScreen[1] * point[0] + gWorldToScreen[5] * point[1] + gWorldToScreen[9] * point[2] + gWorldToScreen[13];
	w = gWorldToScreen[3] * point[0] + gWorldToScreen[7] * point[1] + gWorldToScreen[11] * point[2] + gWorldToScreen[15];

	if ( w != 0 )
	{
		w = 1.0f / w;
		screen[0] *= w;
		screen[1] *= w;
	}

	return w <= 0;
}
以上是官方的代码,不方便给出完整工程
不过你可以参考类似的开源项目:1d1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6r3g2@1N6e0i4K6u0r3P5r3q4K6K9o6y4V1i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8X3g2F1k6$3W2F1k6g2)9J5c8X3y4D9K9h3g2F1N6q4)9J5c8X3N6D9i4K6g2X3M7X3#2S2K9h3&6Q4x3X3g2U0 第207行  qboolean GAME_EXPORT R_WorldToScreen( constvec3_t point, vec3_t screen )
2018-2-5 10:40
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
11
主要还是想需要一些实质性可编译直接看出东西的代码。毕竟  WorldToScreen  还是需要传入坐标。
谢谢
2018-2-5 18:02
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
12
再求。。。
2018-2-23 17:39
0
雪    币: 639
活跃值: (1192)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
13
结贴已经在海外论坛找到了。
2018-3-7 16:57
0
雪    币: 1409
活跃值: (157356)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
qqwawzymu 结贴已经在海外论坛找到了。
分享一份呗
2018-3-13 12:17
0
游客
登录 | 注册 方可回帖
返回