挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运村瓦三角洲一手精品项目实力总负责诚招代理利润拉满,欢迎各位代理,实力开发合作tg:@jiantian888QQ:1661043402 ██【我要租此广告位】██
查看: 21769|回复: 50
打印 上一主题 下一主题

[辅助源码分享] 分享一份“D3DXVec3Project”矩阵转换的E源码

  [复制链接]
6高级会员
1049/1100

1049

积分

5

主题

16

听众
已帮网友解决0 个问题
好评
-1
贡献
1044
海币
11251
交易币
0

最佳新人热心会员推广达人宣传达人在线王土豪签到达人

跳转到指定楼层
#
发表于 2024-6-19 22:31:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


某游戏会对此系统“D3DXVec3Project”API下钩子实时检测或由此API对三无产品软件调用此API进行三维世界坐标转二维屏幕坐标时进行特征并且上传后台导致莫名其妙拉闸,故此为广大E++道友开源下 别拿去圈钱哦~
相关资料参考:https://wenku.baidu.com/view/7769948c5aeef8c75fbfc77da26925c52cc591ca.html

C#源码:
参考一:

```csharp
using System.Numerics;


public struct Vector3
{
    public float X, Y, Z;


    public Vector3(float x, float y, float z)
    {
        X = x;
        Y = y;
        Z = z;
    }


    public static Vector3 operator *(Vector3 vector, Matrix4x4 matrix)
    {
        return new Vector3(
            (vector.X * matrix.M11 + vector.Y * matrix.M21 + vector.Z * matrix.M31 + 1 * matrix.M41),
            (vector.X * matrix.M12 + vector.Y * matrix.M22 + vector.Z * matrix.M32 + 1 * matrix.M42),
            (vector.X * matrix.M13 + vector.Y * matrix.M23 + vector.Z * matrix.M33 + 1 * matrix.M43)
        );
    }
}


public struct Matrix4x4
{
    public float M11, M12, M13, M14;
    public float M21, M22, M23, M24;
    public float M31, M32, M33, M34;
    public float M41, M42, M43, M44;
   
    // Constructor and other methods would be defined here...
}


public class MatrixOperations
{
    public static Matrix4x4 Multiply(Matrix4x4 left, Matrix4x4 right)
    {
        return new Matrix4x4()
        {
            M11 = left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41,
            M12 = left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42,
            M13 = left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43,
            M14 = left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44,


            M21 = left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41,
            M22 = left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42,
            M23 = left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43,
            M24 = left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44,


            M31 = left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41,
            M32 = left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42,
            M33 = left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43,
            M34 = left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44,


            M41 = left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41,
            M42 = left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42,
            M43 = left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43,
            M44 = left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44,
        };
    }
}




    public static Vector3 ProjectPoint(Vector3 point, Matrix world, Matrix view, Matrix projection, int viewportWidth, int viewportHeight)
    {
        Matrix combinedMatrix = world * view * projection;
        Vector3 transformedPoint = point * combinedMatrix;

        // 透视除法
        float oneOverW = 1.0f / transformedPoint.Z;
        Vector3 screenPoint = new Vector3(
            transformedPoint.X * oneOverW,
            transformedPoint.Y * oneOverW,
            transformedPoint.Z * oneOverW
        );

        // 转换到视口坐标
        screenPoint.X = screenPoint.X * (viewportWidth / 2) + viewportWidth / 2;
        screenPoint.Y = -screenPoint.Y * (viewportHeight / 2) + viewportHeight / 2; // 注意Y轴的翻转

        return screenPoint;
    }
}

这里的`Vector3`和`Matrix4x4`结构体以及相关的运算符重载和方法都是简化的版本

E没有相对应的库只能构造一个`Vector3`和`Matrix4x4`类型两份C源码+一份E纯源码都在文件里哦

矩阵相乘  回帖查看密码哦→
游客,如果您要查看本帖隐藏内容请回复


客官刮一刮→系统内核交流群:398897142 或768047245有兴趣一起交流技术~

纯源码文件下载→ 易语言D3DXVec3Project运算纯源码.rar (21.47 KB, 下载次数: 104, 售价: 8 海币)


联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:JD_30.1.2.1最全解密分享
下一篇:旧容颜联系方式谁有
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

6高级会员
809/1100

809

积分

45

主题

19

听众
已帮网友解决1 个问题
好评
-1
贡献
764
海币
2320
交易币
0

开荒者最佳新人热心会员推广达人宣传达人突出贡献评分大师签到达人机器王原创大师

50#
发表于 2025-7-6 11:51:43 | 只看该作者
相乘  回帖查看密码哦→
回复 支持 反对

使用道具 举报

34

积分

17

主题

5

听众
已帮网友解决0 个问题
好评
-1
贡献
17
海币
423
交易币
0
49#
发表于 2025-6-23 17:06:10 | 只看该作者
RE: 分享一份“D3DXVec3Project”矩阵转换的E源码 [修改]
回复 支持 反对

使用道具 举报

19

积分

1

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
18
海币
1038
交易币
0
48#
发表于 2025-6-22 00:52:44 | 只看该作者
感谢分享辛苦了
回复 支持 反对

使用道具 举报

4中级会员
320/600

320

积分

56

主题

25

听众
已帮网友解决0 个问题
好评
-12
贡献
264
海币
4942
交易币
0

土豪活跃会员最佳新人开荒者原创大师在线王

47#
发表于 2025-6-18 04:41:47 | 只看该作者
“D3DXVec3Project”矩阵转换的E源
回复 支持 反对

使用道具 举报

1

积分

0

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
4
交易币
0
46#
发表于 2025-6-7 19:29:19 | 只看该作者
DXVec3Project”矩阵转换的E源
回复 支持 反对

使用道具 举报

3正式会员
140/300

140

积分

80

主题

18

听众
已帮网友解决0 个问题
好评
-10
贡献
60
海币
0
交易币
0
45#
发表于 2025-6-2 23:54:27 | 只看该作者
“D3DXVec3Project”矩阵转换的E源
回复 支持 反对

使用道具 举报

1

积分

0

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
118
交易币
0
44#
发表于 2025-5-12 17:32:16 | 只看该作者
creenPoint.X * (viewportWidth / 2) + viewportWidth / 2;
        screenPoint.Y = -screenPoi
回复 支持 反对

使用道具 举报

4中级会员
323/600

323

积分

0

主题

10

听众
已帮网友解决0 个问题
好评
0
贡献
323
海币
1013
交易币
0
43#
发表于 2025-5-10 22:07:33 | 只看该作者
D3DXVec3Project”矩阵转换的E源码
回复 支持 反对

使用道具 举报

5

积分

2

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
3
海币
2
交易币
0
42#
发表于 2025-4-23 13:03:36 | 只看该作者
asdgsdaf f sf
回复 支持 反对

使用道具 举报

6高级会员
635/1100

635

积分

17

主题

17

听众
已帮网友解决1 个问题
好评
3
贡献
618
海币
68
交易币
0
41#
发表于 2025-4-22 16:40:38 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-8-21 07:56 , Processed in 0.089782 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表