avatar

Coderek's blog

Loneliness is the gift of life

Coroutine

以前也听说过coroutine这个词,当时以为只是helper function的另外一种说法,故没有去研究个所以然。后来做unity3D project的时候有一次看到这个词,在文档里记录的例子是一个等待的程序,如下: yield WaitForSeconds(5.0); 这个看起来不就是一个简单的wait吗,用一个loop一个timer就可以实现的一个东西而已。我当时这么认为。unity的d…

Read more ››

About FYP

My FYP hasn’t had any progress for a while already. I should say I was kind of unfamiliar with my code after December holiday, so a lot of time now are spent reading code and documentations. My curre…

Read more ››

This article is a reprint/updated version of an e-mail I sent out to the mud-dev mailing list a few years ago, describing the Q3 networking model as described to me by John Carmack. I did this partl…

Read more ››

现在一般3D或者2.5D的地图都会有一种划分地图的方式,比如说魔兽地图是将地图划分成小的方块,雷神之锤的用立体的凸面体来划分。这样的做法是整个地图能够更好的被掌控,不然按照一个个多边形划分的话,不仅数量巨大难以掌控,更对电脑性能是一大挑战。 John Carmack在雷神之锤里使用二叉树(BSP)来分割空间。在中间节点里储存分割面,枝头储存空间信息,我们称它为Area。这样搜索地图里一个坐标的A…

Read more ››

这两天为了一个vsc++ priority queue 的bug浪费了不少时间。我的pqueue是用来储存struct的pointers。我用下面这种方法创建: priority_queue, M_compare> openq; M_compare也是用常规方法写的,跟官网上完全一样的格式。但我run程序的时候总是给我invalid heap的错误。网上搜一下后好象是说queue里的东西没有in…

Read more ››

About Epsilon

前几天去cs4213的lab,做了一个dotproduct的问题,然后跟cosine对比结果。我当时用了”==”,对比结果老是不对然后问TA。他说要用epsilon,我不知道是什么,问了好几遍什么是epsilon。最后TA懒得跟我解释就说,你不能这样直接比较,会有error,然后我就用”>”比较,最后终于弄对了。 今天突然想起那天他说的epsilon,然后查了一下。原来这是一个学compu…

Read more ››

今天恍然大悟,发现昨天想到有关pass **pointer的问题是错误的。 在function 的参数里面我们一般都是pass *ptr,这样比较安全,为什么呢?因为这样只是pass最初那个pointer的value,所以function里可以自己在做一个pointer 然后assign到这个value,然后就可以用了。原来那个pointer很safe,没有被更改,也无法被access到。 然后…

Read more ››

1 2 3 4 5 6 7