知识
Golden_Shadow
做一名优秀的游戏程序员
展开
-
UE4 Andriod 通过命令行执行stat指令
CSDN越来越劝退了.原创 2022-10-21 10:54:37 · 367 阅读 · 0 评论 -
平面到原点距离
是-d。话说这一波刷高数题才第一次搞清楚这件事。前几年我都干啥去了。原创 2022-09-23 00:05:11 · 436 阅读 · 0 评论 -
记工作中矩阵应用
先说线性变换.以基向量[a,c]和基向量[b,d]对[x,y]进行线性变换.这里盗图了. 这里是列是基向量,矩阵需右乘向量,既是矩阵的行和[x,y]点乘.加入位移的话加到第三列.在UE4中矩阵的行存储基向量,按矩阵乘法定义需向量左乘矩阵.表示的线性变换和上面矩阵按列存储是一致的.这里的位移存在第三行.UE4蓝图中暴露了GetColume和GetOrigin,就是分别返回的矩阵的列和第四行.接下来就是题外话了.最近干活干的很卖力,晚上回去脑袋挺疼也挺累.最近一段让自己慢下来一些.沉淀.原创 2022-03-15 15:58:24 · 449 阅读 · 0 评论 -
花了将近一天时间解决D3D12_RAYTRACING_TIER_NOT_SUPPORTED
标题是个病句.简而言之就是换了3070发现还是不支持Gpu Lightmass.昨天下午开始看,刚才找到问题了.一开始就怀疑DX运行时版本和显卡驱动,排除了这两项.之后对比微软给的DirectX Graphics例子,发现它查询出来D3D12_RAYTRACING_TIER是支持的,而UE的查询出来的就是不支持的.我尝试着对比代码看,使一些不一致的方法一致,还有结构体一致.改了还是不行.后来我想了一下,可能是从错误的dll里加载到了同名方法,当初看<<Windows核心编程>>的..原创 2021-11-26 15:22:54 · 1435 阅读 · 1 评论 -
解决UE4打包Android报错app:packageDebug FAILED的一个土方法
这个问题我研究过,,没研究明白.后来每次遇到都不愿意花时间去彻底解决,现在总结出两个办法,可以组合使用:1.删app-debug.apk2.删packageDebug文件夹哪天我再被虐,而且愿意花时间仔细刚一下,再更新.希望对你有帮助,老铁....原创 2021-05-06 20:37:59 · 1979 阅读 · 7 评论 -
调试发布的UE4 Windows程序
-waitforattach 启动参数加上这个,就够了.之后拿VSattach就行.我还研究用vs启动exe,之后自己加载pdb,还没daoche明白.还试着自己在代码里sleep...最后发现居然已经有现成的机制了. 我想我又有了一个使用UE4的理由,好完善......原创 2021-02-02 15:57:24 · 475 阅读 · 0 评论 -
cannot spawn .git/hooks/post-checkout: No such file or directory
workspace\.git\hooks文件夹下post-checkout,post-commit,post-merge,pre-push全都删掉. 不用知道为啥,我也不想知道为啥,哈哈...继续干别的去.原创 2020-05-07 10:32:34 · 2861 阅读 · 0 评论 -
JAVAH生成JNI头文件
Android Studio里Terminal,cd到java目录下,如:F:\Demo\app\src\main\java 之后执行javah -jni com.example.demo.MainActivity(包名.类名).之后就在java目录下生成头文件了.几乎每次都是现查这个,这回索性写下来记住.原创 2016-02-03 19:23:19 · 586 阅读 · 0 评论 -
ndk-build生成.so
cd到JNI目录,如:F:\Demo\app\src\main\jni.之后执行ndk-build.就可以了.在JNI目录下应该有mk文件.细致我也说不清,简单写下来标记一下.原创 2016-02-03 19:29:03 · 1492 阅读 · 0 评论 -
UML依赖与关联,聚合和组合
最近在做渲染部分的重构工作.单靠脑袋想很难清晰,于是想到了先画类图, 之后在类图上做修改,直接导出结论之后实现. 画类图的时候,关于依赖和关联,以及聚合和组合总是不清晰.现在有了结论,记录下来,以后再糊涂直接看自己记录下来的. 依赖:A依赖B,A的方法中需要类B作为参数.如:void A::DoSth(B * pB){ pB->DoSth() ;} 关联:A关联B,B原创 2017-01-07 11:19:17 · 912 阅读 · 0 评论 -
Syntactic sugar & Syntactic salt
以往只知道"语法糖".今天在写C++做一个从const void * 转换为unsigned char * 时,编译报错:转换要求 reinterpret_cast、C 样式转换或函数样式转换.当然了,这个报错的内容并不是主题. 后来我这么写了:const void * pVoid = NULL ;unsigned char * pUnsignedChar ;pUnsigned原创 2017-02-14 16:07:13 · 623 阅读 · 0 评论 -
VS 尾部换行符号|行号断开
我瞎摁出来的.也没查到怎么解决.再次瞎摁...ctrl+e, ctrl+w. 希望后来人为我烧香.原创 2018-07-25 11:28:40 · 2339 阅读 · 0 评论 -
C++ placement new
#include <iostream>#include <memory>#include <intsafe.h>#if !defined(CPP)struct WangLiangLiang{ INT64 age; WangLiangLiang() { } ~WangLiangLiang() { }};int main...原创 2018-11-16 15:58:13 · 259 阅读 · 0 评论 -
hpp真是好东西
最近在往一个android项目里塞c++. 引用了websocketpp,都是用hpp写的.如果不是.hpp,而.h和.cpp,那么需要在CMakeList.txt里写很多东西.但是,.hpp只管include,就不用管了,真的很方便. 简单地介绍下,.hpp在编译时,不会被当做模块来处理.再高深的以后再补充吧,目前我只感受到了当前这点,很顺畅,感受到古人的强大....原创 2019-02-15 19:23:34 · 681 阅读 · 0 评论 -
QT 运行时图片不显示 [Solved]
最近搞QT.是的,先搞了OpenGL渲染器,之后放下又搞界面搭建. 我先说解决办法,之后再絮叨:把资源添加进qrc之后,再在项目上右击"执行qmake",再次运行发现UI上的图片看得到了.看了一堆废话,最后发现了关键的这一句. 之前一直对堆UI"嗤之以鼻",大概意思就是我不喜欢干UI.后来,年积月累,对一些技术点也放下了偏见.都是技术,没啥谁高谁低的,有兴趣就好.我现在就对UI这一...原创 2019-04-17 10:59:18 · 2757 阅读 · 1 评论 -
终于干掉了恼人的lucky searches
http://www.myantispyware.com/2017/05/09/lucky-searches-virus-how-to-remove-chrome-firefox-ie-edge/从这个大哥的blog上看到的,https://www.zemana.com/?AFFILIATE=76886&__c=1这个是我从中找到的生效的软件. lucky search,浏览器...原创 2019-05-16 11:03:48 · 286 阅读 · 0 评论 -
findstr
首先cd到想要搜索的文件夹.之后findstr /s /n /i "SH" * /s表示在当前文件夹及所有子文件夹,/n表示打印所在行数,/i表示不区分大小写, *表示在所有类型文件中搜索. 一搜东西,能搜出来一大堆重复的东西.啥驴逼玩意?另外,help findstr, 可以列出这个命令的用法.原创 2015-12-15 10:31:58 · 763 阅读 · 0 评论 -
C标准重定向
加班中.在SDK中发现一段打印到控制台的代码.如果逐个输出改起来比较麻烦.一下就想到了当初学过的流的重定向,查了一下,查到了,不用改大量代码而直接能输出到文件中了.呼.真格的,好的程序员的效率真的可以高得惊人啊!freopen("data.txt","r",stdin);freopen("data.txt","w",stdout);原创 2014-02-24 22:56:48 · 930 阅读 · 2 评论 -
.net内存管理
最近两天看了不少.net内存管理的文章,强化一下这方面的知识.现在心里有数,于是写出来. .net框架下的生成的程序在运行时需要即时编译,JIT,just in time.代码都是IL,这就很容易被反编译.MONO框架下的程序运行时不需要安装框架,而.net程序需要安装框架. 内存分配分为托管资源,与非托管资源.非托管资源在,CPU寄存器,线程栈中.还提起到一个东西,协程,不同于线程,原创 2013-03-07 10:12:17 · 983 阅读 · 0 评论 -
探寻算术右移与逻辑右移C语言
<br /> 探寻算术右移与逻辑右移.说实话,最近数据结构告一段落,在看算法,还没到编码的地步...有些寂寞.于是,正好昨天,看书看到的,编码出来看看...结果,恩.效果不错.<br /> 就要开始Windows程序设计了,算法部分我还会继续努力.我的第二阶段,渐渐开始了.加油吧!<br />/* 2011-04-08-22.49.c -- 探寻算术右移与逻辑右移 */#include <stdio.h>#define INFINITY (1 << 31)int main (void) ;原创 2011-04-09 22:30:00 · 2259 阅读 · 0 评论 -
探寻联合C语言
<br /> 看代码吧.同样是昨天实现的东西.<br />/* 2011-04-12-18.00.c -- 探寻联合 *//* Suppose current machine works as little endian. */#include <stdio.h>union U{ char array[4] ; int value ;} ; /* <- Be careful! */int main (void) ;int main (void){ u原创 2011-04-14 00:33:00 · 739 阅读 · 0 评论 -
探寻大端法与小端法C语言
<br /> 探寻本机是小端法机器,还是大端法机器.这东西,半年前就见过,直到昨天才去实现.恩.贴代码吧.<br />/* 2011-04-12-16.40.c -- 探寻大端法与小端法 */#include <stdio.h>int main (void) ;int main (void){ int test ; char * address ; test = 0x01020304 ; address = &test ; if (4 == *addre原创 2011-04-14 00:31:00 · 1028 阅读 · 0 评论 -
探寻小端法机器联合的使用C语言
<br /> 在小端法的机器上,两个 short int 分别将各自的最低有效字节存放在各自起始地址最左边(下文简称起始地址为地址).需要说明的是:虽然每个 short int 是依据小端法存储各自的每个字节,但是两个 short int 之间数据是顺序存储的.,<br /> 在 float 取得数据的时候,获得两个 short int 的位模式.同时将地址最左面的字节作为自己的最低有效位字节.简单说来就是:<br /> 数据的最低有效字节存储在最左边<=>最左边的字节存储着的是数据的最低有效字节.<原创 2011-04-14 00:46:00 · 843 阅读 · 0 评论 -
寻找double-∞C++
写上一个文章的时候,发觉自己不会构造double的-∞,于是,决心睾一睾.直到昨天,睾出来了.过程中,感谢回帖指点的朋友,还有昨天的我. 过程中,写了自己的第一个复制内存的函数.以前都没有写过,这次写,希望下次能写得更好. 回到主题,这个问题,体现出了,其实我还是没有掌握l原创 2011-07-12 16:52:20 · 795 阅读 · 0 评论 -
探寻异常C++
C++的异常,前几天看到的.写出来了.// studyException.cpp -- 2011-08-23-18.53#include "stdafx.h"#include using std ::runtime_error ;using std ::cou原创 2011-08-26 18:22:10 · 694 阅读 · 0 评论 -
一个统计代码行数的程序C#
呼,从12月开始,开始学习,使用C#了.还好自己之前是学过C和C++,学起来不那么困难.特性很多,没有贪多地去掌握. 在项目里,暂时没有我什么事,自己在那,学习引擎,看服务端和客户端的代码.每天就是自己给自己找事情做,不然就会枯燥.有的时候啊,会比较闷的,忍咯,比从前的日子还是好过度多了. 这种程序,很久以前写过一个.是用C写的.这个呢,是C#,比C的功能多了许多.这个语言还是不错,纯原创 2011-12-25 12:10:26 · 3482 阅读 · 0 评论 -
C#中 yield return 与 yield break
using System;using System.Collections;public class List{ public bool onOff = false; public static IEnumerable ForExample() { yield return "1"; // 第一次调用时执行 yield retur原创 2012-01-16 09:40:17 · 16121 阅读 · 3 评论 -
C# Action 委托 + lambda 表达式
using System;using System.Collections;public class Test{ static public Action A; static public Action B; static public Action C; static public Action D; static public Action E;原创 2012-01-17 09:10:06 · 10105 阅读 · 0 评论 -
关于using
using提供了C#中的实例生存时间的控制,在using语句内声明的实例将在using语句结束时调用Dispose方法.当然了,声明的实例必须继承自IDisposable接口.using System;class Instance: IDisposable{ private string name; public Instance(string name) {原创 2012-02-24 09:24:45 · 721 阅读 · 0 评论 -
virtual与override--不断更新
using System;using System.Collections.Generic;namespace test{ // 王亮亮是我最好的哥们. // 王民光是他的父亲. // 王绍文是他的爷爷. public class WangShaoWen { public WangShaoWen() {原创 2012-02-17 09:22:05 · 819 阅读 · 0 评论 -
Enum.Parse
using System;using System.Collections.Generic;namespace test{ public enum Color { Red } class Program { static void Main() { string str = "原创 2012-02-17 14:49:02 · 990 阅读 · 0 评论 -
abstract&virtual&override
一直以来,对这三个关键字都没有完全的了解,今天加会班,写篇文章来梳理清楚.吃得好饱,哈哈.namespace test{ abstract public class Thinking { } class Program { static void Main() { // 错误,无法创建抽象类的原创 2012-02-21 18:24:29 · 786 阅读 · 0 评论 -
查看当前占用某端口的进程ID
在Windows下, 开始->运行:D:\User\Shadow>netstat -ano | find "7000" 回车 注意空格不能少.这个很有用,记录下来咯.原创 2012-07-24 14:41:30 · 907 阅读 · 0 评论 -
好的设计很重要
好的设计,能够简化日后的维护,修改工作.貌似这是搞程序的必备的能力,是内功的体现啊. 何出此言呢?因为项目要上线了,现在改东西,因为逻辑层次抽象得好,所以改起来很容易,受用ing.原创 2012-10-16 09:41:35 · 1060 阅读 · 2 评论 -
C++引用和指针的本质差别
以下所讨论,都是C++中的概念. 编译代码的时候,在符号表中,引用的地址是引用的变量的地址,指针的地址,是指针自身的地址.也就是说,引用本质上是不存在的,而指针是确实存在的.int a = 1 ;int & reference = a ;int * pointer = &a ;符号表变量名地址a0x0000reference原创 2012-12-12 17:03:37 · 1349 阅读 · 2 评论 -
关于Amdahl定律
加速度S = 1 / ((1 - α(系统原来占用的时间百分比)) + α / k(当前速度 / 原来速度)) 这个定律可以反应出改进系统中某个单元的执行速度(性能)将会给整个系统带来的收益. 举个例子,某个应用软件中的一个功能单元,需要占用整个系统执行时间的20%, 现在将该功能单元的执行速度提高到原来的4倍.则给该应用软件带来的 加速度S = 1 / ((1 - 0.2) + 0.2 / 4) ≈1.17. 这个定律真的可以用来确认改进一个单元给整体带来的效果.原创 2010-10-26 22:19:00 · 1198 阅读 · 0 评论