- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 MFC下的模态与非模态对话框
以前学VC的时候觉得模态与非模态很简单,两个的创建方式不同,一个是Create一个是DoModel,然后如果是模态的就很霸道,不让你去点后面的父窗口,如果是非模态就可以点击后面的父窗口,但是在实际的应用发现一点很需要注意的地方: 我们如果便写过window SDK,可以知道,其实窗口的创建不关事父窗口还是子窗口,不管是模态还是非模态,其最基本的的调用的都是CreateWindow或者Cre
2008-12-30 22:16:00 3841 4
原创 DC释放的问题
以前编写GDI程序的时候没有怎么注意这一块,DC随便使用,也没有什么大问题,现在发现这样做问题很大,首先就是内存泄露一个DC就相当于一个画家,但是他没有画笔、颜料、画布就不能作画,在GDI就类似于pen、brush、bitmap等等,一个DC的创建要涉及到画画的各个方面,因而它是一块很大的内存消耗,DC的bitmap,也就是我们把画画在什么地方可以使显卡的显存,页可以是内存,就看你当时是如何创建,
2008-12-29 09:45:00 3175 2
转载 OpenGL ES学习笔记之五
http://www.google.com/gwt/n?u=http%3A%2F%2Fwww.play3d.net%2FOpenGLES%2Fadv2%2Fmaterial.html
2008-12-26 09:05:00 1086 1
转载 OpenGL ES学习笔记之四
如何导出模型,请参考Maya部份。 现在我已经得到了一个非常简单易用的模型,下面就写一点代码把它加载到内存里,由于模型文件非常简单,所以加载非常简单,而且不浪费内存。 如果你是3DS Max用户,那么在 Power VR SDK 里已经带有相当强大的场景导出插件了,请参考相关文档及源码。以下是头文件1 // 2 // @ Project : MayaMELObjectExport 3
2008-12-26 09:02:00 2106
转载 OpenGL ES学习笔记之三
OpenGL ES简化了模型描述,取消了通过在 glBegin/glEnd 之间使用大量glVertex之类的调用来逐点描述模型,统一到使用VertexArray。下面我们就来画一个简单的物体:用三角形拼出的HELLO EGL。该物体的示意图如下:helloegl vertex layout照例,先New App:new app然后设置一下项目属性:project properties共有三处要
2008-12-26 08:58:00 2462
转载 OpenGL ES学习笔记之二
以下是我的EGLWrapper和EGLConfigWrapper:用法简单,包含"eglwrapper.h",创建一个EGLWrapper实例,调用init(),第一个参数是利用系统相关API建好的window id,对Windows CE而言就是HWND了,程序结束时再clean()一下就好。 1 // @ Project : OpenGL ES Wrapper 2 // @ Fil
2008-12-26 08:54:00 4487
转载 OpenGL ES学习笔记之一
OpenGL ES是一个平台中立的图形库,在它能够工作之前,需要与一个实际的窗口系统关联起来,这与OpenGL是一样的。但不一样的是,这部份工作有标准,这个标准就是EGL。而OpenGL时代在不同平台上有不同的机制以关联窗口系统,在Windows上是wgl,在X-Window上是xgl,在Apple OS上是agl等。EGL的工作方式和部份术语都接近于xgl。OpenGL ES的初始化过程如下图所
2008-12-26 08:43:00 2384
转载 女人就像程序(转载)
有的女人就像Windows 虽然很优秀,但是安全隐患太大。有的女人就像UNIX 她条件很好,然而不是谁都能玩的起。有的女人就像C# 长的很漂亮,但是家务活不行。有的女人就像C++,她会默默的为你做很多的事情。 有的女人就像JAVA,只需一点付出她就会为你到处服务。 有的女人就像JAVA script,虽然对她处处小心但最终还是没有结果。 有的女人就像汇编 虽然很麻烦,但是有
2008-12-25 16:48:00 919
原创 DSound中音频与时间的转换
在DSound播放文件的同时,我们维系了一个变量来递增显示当前播放的时间,下面讲其中几个比较重要的函数 HRESULT CScopeFilter::getCurPos() { if(!buffer) return DSERR_UNINITIALIZED; clockLock.Lock(); DWORD p; HRESULT hr
2008-12-23 11:16:00 1326 1
原创 DShow之DSound与WaveOut的学习笔记
在PC上面,我们可以看到两个Render,一个时基于DSound一个是基于WaveOut,我们可以打开GraphEdit,分别用他们两个来播放音乐,右击两个Render,选择属性,可以发现他们有一点差别,正是这点差别,才表明他们是基于不同的技术来发声的。在DSound和Waveout中都有一个持续时间,并且是在变化的,一般是200ms-500ms,证明两个播放机制都设有缓冲,但是下面一个
2008-12-23 09:58:00 2245 3
原创 音频的采集和播放(转)
语音录制的关键是解决好声音的连续和延迟这两个问题,可以采用五个内存块循环使用,每个内存块录制声音的长度为100ms,在录音开始前,用waveInPrepareHeader和waveInAddBuffer函数把所有的五个内存块都添加到录音设备以保存录音数据,这样就可以连续录制长达500ms的语音数据,当每个内存块录满数据后,消息响应函数处理完相应的操作后,马上通过调用waveInAdd
2008-12-23 08:44:00 2608 2
原创 个人对于Directshow的理解 回复otisyf
jinlking:谢谢指教. 首先对于您说的:我的音频格式要有一个Source Filter ,如果Source出来的还不是PCM数据的话,还要有一个Codec filter进行解码??? 但是按DirectShow开发指南中关于DirectX中如此介绍:filter中的Source Filter负责获取数据,Transform Filter负责数据格式转换(包含编码/解码),Rending
2008-12-22 21:18:00 1003 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人