自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天魔传人的博客

走在造轮子的路上

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 clang-format

基于 clang-format 15 的配置信息,删掉了在官方手册标注为 Warning、非 C++ 的内容(截止发布)

2022-10-01 09:29:55 879 1

原创 Haiku OS 在 osx 上的编译与运行

haiku os 在 osx 上的编译与运行

2022-06-28 15:57:01 632

原创 常见的源码编译选项

源码一般安装步骤配置 configure编译 make安装 make installmake命令一般可以使用-j选项加速,后面的参数根据自己的CPU确定。配置 configure一般情况下在源码目录使用./configure –-help命令可以查看配置选项的详细说明。以 gcc 为例$ ./configure --help`configure' configures ...

2018-12-03 00:28:51 501 1

原创 Homebrew 软件包的编写

需要git首先git clone https://github.com/Homebrew/homebrew-core.git这里的仓库根据你想 PR 到的仓库clone,这里用 homebrew-corebrew create https://ftp.gnu.org/gnu/binutils/binutils-2.31.tar.gzbrew 会在/usr/local/Homeb...

2018-11-12 12:06:30 606

原创 操作系统学习_在Mac系统下搭建elf-i386编译环境

需要brewMacports安装组件bochsbrew install boots --with-gdb-stubqemubinutilsbrew install binutilsi386-elf-binutilsi386-elf-gcc

2018-11-12 11:28:20 2469

原创 操作系统学习_Linux0.12_as汇编

as: GNU组织推出的一款汇编语言编译器,它支持多种不同类型的处理器。 语法 as(选项)(参数) 选项 -ac:忽略失败条件; -ad:忽略调试指令; -ah:包括高级源; -al:包括装配; -an:忽略形式处理; -as:包括符号; =file:设置列出文件的名字; –alternate:以交互宏模式开始; -f:跳过空白和注释预处理; -J:对

2017-10-19 11:24:56 637

原创 操作系统学习_Linux0.12_引导部分为什么要用两种语法写

linux0.12 boot/目录下的三个文件bootsect.S,head.s,setup.S用了两种语法格式。 bootsect.S和setup.S是用as86和ld86编译和连接的,而head.s则用GNU汇编。 前两者需要16位的编码,后者则是在保护模式下工作的。原因在于早期的GNU as不支持编译16位指令,在linux2.4开始才统一使用GNU as来编写。

2017-09-01 13:14:00 268

原创 操作系统学习_Linux0.12_引导启动程序_为啥要不停移动

bootsect.S首先将自身移动到0x90000地址处,接着LOAD了setup.S到0x90200,system模块加载到了0x10000,然后又移动到0x0000,为什么?bootsect为什么不直接把system模块直接加载到0x0000处,而是在setup程序中移动呢? 因为setup前一部分要用到BIOS提供的中断,而中断向量表是保存在0x0000的,因此要等不再使用它的时候再覆盖掉。

2017-08-29 11:19:10 498 1

原创 UE4学习笔记23th:建立第二菜单

新建控件蓝图,取名NewGameMenu 找到Text Box 拖入。 设置如下: 注意将Font改为20 建立一个按钮 设置如下: 在Behavior里创建绑定。 蓝图如下: 回到详细信息面板,选择右下角的锚点 类似地,为二级菜单的按钮添加动作 如此,就完成了。需要扩展的话只需要修改Change Menu Widget的参数即可。

2017-08-27 17:33:59 1769

原创 UE4学习笔记22th:配置游戏模式

新建蓝图类,以HowTo_UMGGameMode为父类,命名为MenuGameMode 再新建一个PlayerController,命名为MenuPlayerController 打开MenuPlayerController,勾选Show Mouse Cursor 配置MenuGameMode如下: 在世界设置中配置GameMode Override为MenuGameMode

2017-08-27 17:28:54 1793

原创 UE4学习笔记21th:创建菜单控件蓝图

在内容浏览器中新建控件蓝图,命名为MainMenu 进入MainMenu,编辑菜单布局。 打开”常见“,将Button与Text拖入图表中 修改Button如下图 修改Text如下 设置文本为”New Game”。 变更可见度为Hit Test Invisible。 将名称设置为”NewGameText”。 接下来,按照同样的方法创建另一个按钮 为按钮添加事件OnCilcked

2017-08-27 17:27:07 2267

原创 UE4学习笔记20th:扩展游戏模式

在HowTo_UMGGameMode.h中添加头文件: #include "Blueprint/UserWidget.h"接着添加入下定义:public: //在游戏开始时调用 virtual void BeginPlay() override;// //移除当前菜单控件,如果可能,从指定类中创建新控件 UFUNCTION(BlueprintCallable, C

2017-08-27 17:22:57 764

原创 UE4学习笔记19th:使用UMG的用户接口

像往常一样,新建基础代码项目,取名HowTo_UMG 打开vs 打开HowTo_UMG.Build.cs 修改构造函数首行如下:PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore","UMG" });取消改行注释: PrivateDependencyM

2017-08-27 17:21:07 516

原创 UE4学习笔记18th:Playing In Editor

打开编辑器,点击Play,你可以控制球体自由移动,按下空格,会打开粒子系统,再次按下后关闭。下一节我会学习如何使用UMG的用户接口

2017-08-27 17:18:39 978

原创 UE4学习笔记17th:绑定Pawn和Components

在CollidingPawn.h中添加://跟踪PawnMovementComponentclass UCollidingPawnMovementComponent * OurMovementComponent;添加头文件在CollidingPawn.pp中添加头文件:#include "CollidingPawnMovementComponent.h"在ACollidingPawn::AColl

2017-08-25 17:17:07 2530

原创 UE4学习笔记16th:编辑PawnMovementComponent

这一节对PawnMovementComponent进行编辑,确定响应。首先打开PawnMovementComponent.h添加如下代码:public:virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) overrid

2017-08-25 17:14:35 1614

原创 UE4学习笔记15th:配置输入并创建Pawn的移动组件

昨天因为没有在家所以没有更新,我会尽快补上的,,不过好消息是不用补课了。打开编辑器 配置输入如下: 创建新的C++类,找到PawnMovementComponent为父类。命名为:CollidingPawnMovementComponent 我们完成了对输入配置的定义并创建了自定义的 PawnMovementComponent,返回vs并写代码以定义 Pawn Movement Compone

2017-08-25 17:13:10 3479

原创 UE4学习笔记14th:组件和碰撞

创建项目,命名为HowTo_Components 创建新的C++类,以Pawn为夫类,命名为CollidingPawn 在CollidingPawn.h里添加: //追溯粒子系统组件UParticleSystemComponent *OurParticleSystem;//创建一个可以对物理行为进行响应的球体根组件USphereComponent* SphereCompone

2017-08-25 17:12:10 921

原创 UE4学习笔记13th:使用C++ 代码以对输入进行响应

这节对输入进行响应。 首先打开PawnWithCamera.h添加定义: //输入变量FVector2D MovementInput;FVector2D CameraInput;float ZoomFactor;bool bZoomingIn;紧接着创建函数来追溯输入://输入函数void MoveForward(float AxisValue);void MoveRinht(floa

2017-08-25 17:03:14 2311

原创 UE4学习笔记12th:配置输入以控制相机

这节我们在项目设置中配置控制相机用的操作:在鼠标右键按住不放的时候来缩短跟随距离并放大视野,同时使用鼠标来控制视角,并使用WASD键来控制 Pawn 的移动。打开项目设置,配置输入如下图。 下一节会对输入进行响应。

2017-08-25 16:58:49 817

原创 UE4学习笔记11th:玩家控制的相机

因为最近要补课,所以更新速度会慢一些。 今天我来学习如何让玩家控制相机。创建基础代码项目,取名HowTo_PlayerCamera。新建Pawn类,取名PawnWithCamera添加代码到PawnWithCamera.h:protected: UPROPERTY(EditAnywhere) USpringArmComponent* OurCameraSpringArm;

2017-08-25 16:58:01 2112

原创 UE4学习笔记10th:使用蓝图对C++进行补充

点击蓝图/添加脚本 点击创建 在事件图表中进行编辑 右键单机空白处,创建新的节点Countdown Has Finished 拖出节点,与Spawn Emitter at Loaction连接,在蓝色Emitter at Loaction选择P_Explosion 拖出黄色Loaction,找到GetActorLoaction 编译一下,看看效果 很不错。但是在0初就停止了,为什么呢

2017-08-25 16:55:51 394

原创 UE4学习笔记9th:在编辑器中修改变量和函数

打开上次的项目,开始学习如何在编辑器中修改函数和变量。允许在编辑器中修改时间:UPROPERTY(EditAnywhere)int32 CountdownTime; 效果如下: 将Countdown修改为5,Play后计时就会从5开始。还要把这一用法拓展到蓝图中去 允许蓝图调用,添加到Countdown.h:UFUNCTION(BlueprintNativeEvent)void Cou

2017-08-25 16:52:28 1309

原创 UE4学习笔记8th:变量, 计时器,和事件

创建C++项目,命名为HowTo_VTE 创建一个新的C++类,父类选择Actor,命名为Countdown 在Countdown.h中输入定义:int32 CountdownTime;UTextRenderComponent* CountdownText;void UpdateTimerDisplay();在Countdown.cpp中输入:CountdownText = CreateDefa

2017-08-25 16:49:07 1305

原创 UE4学习笔记7th:在世界中放置相机Director

编译完成后,在内容浏览器中找到CameraDirector,并拖入关卡编辑器中。在Camera Director中设置如下:点击Play,可以看到视口由Cube连续地滑动到CameraTwo处这一节到这里就结束了,下一部分我会学习Variables,Timers,and Events这是全部的代码:CameraDirector.h// Fill out your copyright notice i

2017-08-17 13:15:06 930

原创 UE4学习笔记6th:在C++中控制相机视图

那么,还是新建C++类 命名为CameraDirector 在CameraDirector.h中输入:UPROPERTY(EditAnywhere)AActor*CameraOne;UPROPERTY(EditAntwhere)AActor*CameraTwo;float TimeToNextCameraChange;在CameraDirector.cpp中输入:include “Kisme

2017-08-17 13:14:04 2522

原创 UE4学习笔记5th:游戏控制的相机

这节学习如何在世界中添加相机 新建基础代码,含有初学者内容,命名为HowTo_AutoCamera 在放置中找到相机,拖到世界里 你会发现有小窗口出现在右下角 找到Cube拖入并为Cube添加一个Camera组件 在下一节中,我会尝试控制相机视图。

2017-08-17 13:11:39 1794

原创 UE4学习笔记4th:编程和绑定游戏操作

在这一节中,我们来处理对输入的响应双击打开MyPawn在vs中进行编辑。 在MypPawn.h中添加以下定义: void Move_XAxis(float AxisValue); void Move_YAxis(float AxisValue); void StartGrowing(); void StopGrowing(); //输入变量 FVect

2017-08-17 13:09:27 841

原创 UE4学习笔记3rd:配置游戏输入

继续之前未完成的内容,对输入进行设置。 打开虚幻编辑器,进入昨天未完成的项目中。 在左上角的编辑选项中,选择项目设置。 我要处理的是玩家的输入,因此选择输入选项 调整设置如下 这里说明一下,Axis Mappings(坐标轴映射)处理的是连续的输入,比如一直摁着W,就会一直向前移动。 Action Mapping(动作映射)处理的是一个瞬间,如按下空格后跳跃,只是在检测到空格键被按下时

2017-08-17 13:03:57 817

原创 UE4学习笔记2nd:玩家输入和Pawns

在这篇文章中,我会继续跟随官方文档进行虚幻4的C++编程练习,处理玩家的输入首先,新建C++项目,附带初学者内容,命名为HowTo_PlayerInput 在内容浏览器中右键选择新建C++类,以Pawn为父类,命名为MyPawn 在打开的MyPawn.cpp中,在AMyPawn::AMyPawn()函数中添加一段代码,使之能够在游戏开始时能够响应玩家的输入 AutoPossesPlaye

2017-08-17 12:58:32 996 2

原创 UE4学习笔记1st:编程快速入门

UE4学习笔记1st:编程快速入门今天我开始学习虚幻4游戏引擎,为了此我专门买了新的电脑,我将主要配置写在这里,有想学习的同学可以参考显卡:丽台K620CPU:E3-1230-V3主板:b85 内存:8g ddr3硬盘:128固态,2T机械——————————————————————————————————————————————————————本篇目的: 我在用的引擎版本是4.8

2017-08-17 11:53:36 584

原创 操作系统学习_编译和写入_nasm dd

首先得有一个asm;boot1.asm;2017.8.16;nasm boot1.asm -o bootbits 16org 7c00hstart: cli; macro: FAST_A20_ENABLE; description:; set 0x92[1] to enable A20 line in al,0x92

2017-08-17 11:32:51 983

原创 操作系统学习_不知道怎么分_杂项

vim配置set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimset rtp+=~/.

2017-08-17 11:18:09 154

原创 操作系统学习_环境搭建_Linux下的bochs

Bochs的安装需要通过源码进行。 下载bochs-2.6.9.tar.gz后,解压到任意目录下,进入bochs-2.6.9,打开命令行安装编译程序依赖的包sudo apt-get install build-essential打开调试功能的开关./configure --enable-debugger --enable-disasm在此过程中如果出现错误,请先检查所需的支持是否都安装了。

2017-08-17 11:08:39 814

转载 X86 内存布局分析(Memory map)

来自@huangkangying,侵删This article describes the contents of the computer's physical memory at the moment that the BIOS jumps to your bootloader code.本文主要描述从BIOS代码工作到OS bootloader之前的计算机物理内存

2016-08-28 22:54:34 2065

转载 来自@Golden_Shadow 我的3D引擎数学库实现文件

#include "stdafx.h"  #include   #include "MyMath.h"    float FastSin(float theta)  {      theta = fmodf(theta, 360) ;        if (theta         theta += 360 ;        int thetaIntP

2016-06-18 21:35:09 557

转载 美的同一性和神秘的算法分析

1977 年法国人 Philippe Flajolet 发表了一篇评估计算机展开算术表达式平均所需寄存器数量的论文 [1]。同年,普林斯顿的 Rebert Sedgewick 向 SIAM 投递了一篇讨论奇偶归并排序的文章 [2],其中给出了数据在排序过程中平均交换次数的简洁表达式。Sedgewick 通过渐进分析获得的这个表达式后来被发现和 Flajolet 用于评估寄存器数量的式子具有同一

2016-02-13 19:58:28 561

software foundations

software foundations 4.2.pdf, 软件基础英文版,,,,

2018-07-01

托马斯微积分第十一版答案英文版

托马斯微积分第十一版答案英文版,,,,,,,,,,,

2018-07-01

印刷体数学公式分析与理解的研究

印刷体数学公式分析与理解的研究,论文PDF,深度学习与OCR

2018-06-30

王垠文章合集

王垠的文章合集,包含了博客等,很多文章找不到,里面都有

2018-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除