摘要: 使用Shader处理纹理本是件简单的事情,但是我在尝试写一个简单的例子的时候却犯了个错误,导致郁闷了一天,这个稍后再说。先整理下怎么用Shader处理纹理吧。1.原理:用Shader处理纹理的原理其实很简单,将纹理通过一个uniform变量传入shader,然后对着个uniform变量进行操作,就可以直接操作纹理了。2.参考资料lighthouse3d上面的教程比较简略,没有列出完整的程序,我看后比较迷茫。http://www.lighthouse3d.com/tutorials/glsl-tutorial/simple-texture/写得比较详细的是这么一本书:OpenGL® S 阅读全文
posted @ 2012-08-01 21:28 Vincent_Xue 阅读(2650) 评论(0) 推荐(0) 编辑
摘要: Project需要,最近在看GLSL shader的东西。这里简单梳理下吧(同时也在学习VBO和FBO,后面再整理)。1.很好的入门资料,必看! http://blog.csdn.net/racehorse/article/details/6593719当然这是翻译版,原版在这里:http://www.lighthouse3d.com/opengl/glsl/看完之后弄懂GLSL是什么基本没有问题了。2.使用GLSL做图像处理GLSL的一个很大作用是用来图像处理,利用显卡的优势可以完成复杂的图像处理操作,当然下面的例子呈现的都是简单的Demo。这方面的资料可以参考首先是《OpenGL超级宝典》 阅读全文
posted @ 2012-07-31 22:47 Vincent_Xue 阅读(1670) 评论(0) 推荐(0) 编辑
摘要: 再设计gui程序时,可能需要用printf之类的函数来debug,因此添加控制台是很必要的方法。具体方法:1.任意做一个MFC的工程,基于单文档,多文档,或者对话框皆可。2.右击工程文件名 选属性-》链接器-》系统-》子系统设置为“控制台(/SUBSYSTEM:CONSOLE)”。3.在属性-》链接器-》高级-》入口点设置为wWinMainCRTStartup4.生成可执行文件,这个时候程序运行,附带着控制台也出来了。 阅读全文
posted @ 2012-06-29 14:07 Vincent_Xue 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 一、准备工作1.环境搭建主要几个步骤:下载Android SDK,更新包和api,安装IDE(Eclipse),安装Android ADT参考:http://www.mxjava.com/android-setup.html安装过程中可能需要FQ。2.hello world程序hello world程序是每一门语言的基础,所以自然少不了啦。http://www.mxjava.com/android-helloworld.html二、方法及技巧1.按钮的使用http://blog.csdn.net/Android_Tutor/article/details/47808042.字体样式http:/ 阅读全文
posted @ 2012-05-24 16:53 Vincent_Xue 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 一、初衷android4.0的任务栏目的是用来取代实体键,因此取消任务栏不是一件简单的事情,而对于有实体键的机器来说,取消任务栏可以增加20几个像素的高度,还是很重要的。具体操作方法是对framework-res反编译。二、操作过程1.使用apktool工具,可以在这里下载:http://files.cnblogs.com/xweiwei/framework%E5%8F%8D%E7%BC%96%E8%AF%91.rar2.Apktool的使用:反编译:apktool d X:\abc.apk X:\helloworld修改后重新编译:apktool b X:\helloworld3.替换签名在 阅读全文
posted @ 2012-05-24 15:54 Vincent_Xue 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一、题目:熟悉线程相关知识后,利用Lock和RLock实现线程间的简单同步,使得10个线程对同一共享变量进行递增操作,使用加锁机制保证变量结果的正确。二、主要难点1. 一般而言创建自己的线程类,可以重写threading.Thread类的方法threading.Thread类的使用:I,在自己的线程类的__init__里调用threading.Thread.__init__(self, name = threadname),Threadname为线程的名字II, run(),通常需要重写,编写代码实现做需要的功能。III,getName(),获得线程对象名称IV,setName(),设置线程对 阅读全文
posted @ 2012-05-16 15:46 Vincent_Xue 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 一、题目编程实现以下功能并进行最大化的优化:遍历指定目录下的所有文件,找出其中占用空间最大的前3个文件。利用ConfigParser,将上述题目中产生的结果按照cdays+1-my.ini格式存储到文件cdays+1-result.txt中。二、难点1.os.stat获取大小相关信息2.os.walk遍历文件3.configparser使用三、实现#-*- coding:utf-8 -*-#FileName:top3.py#Author:Xue Weiwei@USTC#Last-Modify:2012-5-16'''获取指定目录下占用空间最大的top3文件,并写入到配置 阅读全文
posted @ 2012-05-16 10:26 Vincent_Xue 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 一、关键点1.chardet的使用http://www.pythonclub.org/modules/chardetchardet安装依赖于setuptools,因此需安装setuptoolshttp://www.cnblogs.com/mindmac/archive/2012/03/07/2383441.htmlchardet不仅可以用来检测,也可以用来转换,几句就够: if codedetect <> 'utf-8': #是否是utf-8try:blog = unicode(blog, codedetect) #不是的话,则尝试转换#print blogblog 阅读全文
posted @ 2012-05-15 22:16 Vincent_Xue 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 俗话说“好记性不如烂笔头”,真正开始写类的时候才发现那是相当累啊。 一、题目 编写一个类,实现简单的栈。数据的操作按照先进后出(FILO)的顺序。主要成员函式为put(item),实现数据item插入栈中;get(),实现从栈中取一个数据。 二、准备工作 开始之前要做些准备工作,主要是熟悉点规范吧,以后慢慢正规化! 头部加上编码(默认utf8)、头部的其他信息(如作者、修改时间等)、注释... 阅读全文
posted @ 2012-05-15 20:59 Vincent_Xue 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一、闰年算法 闰年条件:满足年份模400为零,或者模4为0但模100不为0。 再通俗一点:能被4和400整除,不能被100整除。 import math year=int(raw_input("Enter the year:")) if(year%400==0): print("It's a leap year!") elif(year%... 阅读全文
posted @ 2012-05-14 00:38 Vincent_Xue 阅读(294) 评论(0) 推荐(0) 编辑