??xml version="1.0" encoding="utf-8" standalone="yes"?>久久夜色精品国产噜噜麻豆,久久精品国产亚洲Aⅴ蜜臀色欲,久久久久亚洲精品日久生情http://www.shnenglu.com/init/archive/2016/07/10/213909.html情绝D(fresmaster)情绝D(fresmaster)Sun, 10 Jul 2016 12:38:00 GMThttp://www.shnenglu.com/init/archive/2016/07/10/213909.htmlhttp://www.shnenglu.com/init/comments/213909.htmlhttp://www.shnenglu.com/init/archive/2016/07/10/213909.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/213909.htmlhttp://www.shnenglu.com/init/services/trackbacks/213909.html阅读全文

情绝D(fresmaster) 2016-07-10 20:38 发表评论
]]>
DateTime常用Ҏ(gu)http://www.shnenglu.com/init/archive/2016/07/10/213908.html情绝D(fresmaster)情绝D(fresmaster)Sun, 10 Jul 2016 12:34:00 GMThttp://www.shnenglu.com/init/archive/2016/07/10/213908.htmlhttp://www.shnenglu.com/init/comments/213908.htmlhttp://www.shnenglu.com/init/archive/2016/07/10/213908.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/213908.htmlhttp://www.shnenglu.com/init/services/trackbacks/213908.html阅读全文

情绝D(fresmaster) 2016-07-10 20:34 发表评论
]]>
c# Newtonsoft.Jsonhttp://www.shnenglu.com/init/archive/2015/12/14/212483.html情绝D(fresmaster)情绝D(fresmaster)Mon, 14 Dec 2015 13:32:00 GMThttp://www.shnenglu.com/init/archive/2015/12/14/212483.htmlhttp://www.shnenglu.com/init/comments/212483.htmlhttp://www.shnenglu.com/init/archive/2015/12/14/212483.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/212483.htmlhttp://www.shnenglu.com/init/services/trackbacks/212483.html先上一张图

看完囄链接Q?/p>

1

2



情绝D(fresmaster) 2015-12-14 21:32 发表评论
]]>
C# q接 Oracle 的几U方?/title><link>http://www.shnenglu.com/init/archive/2015/12/12/212469.html</link><dc:creator>情绝D(fresmaster)</dc:creator><author>情绝D(fresmaster)</author><pubDate>Sat, 12 Dec 2015 07:18:00 GMT</pubDate><guid>http://www.shnenglu.com/init/archive/2015/12/12/212469.html</guid><wfw:comment>http://www.shnenglu.com/init/comments/212469.html</wfw:comment><comments>http://www.shnenglu.com/init/archive/2015/12/12/212469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/init/comments/commentRss/212469.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/init/services/trackbacks/212469.html</trackback:ping><description><![CDATA[<pre class="brush: csharp; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">一Q通过System.Data.OracleClient(需要安装Oracle客户端ƈ配置tnsnames.ora) 1. d命名I间System.Data.OracleClient引用 2. using System.Data.OracleClient; 3. string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;"; OracleConnection conn = new OracleConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); } 二:(x)通过System.Data.OracleClient(需要安装Oracle客户端不需配置tnsnames.ora) 1. d命名I间System.Data.OracleClient引用 2. using System.Data.OracleClient; 3. string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))"; OracleConnection conn = new OracleConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); } 三:(x)通过System.Data.OleDb和Oracle公司的驱? 1. d命名I间System.Data.OracleClient引用 2. using System.Data.OleDb; 3. string connString = "Provider=OraOLEDB.Oracle.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))"; OleDbConnection conn = new OleDbConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); } 四:(x)通过System.Data.OleDb和微软公司的Oracle驱动 1. d命名I间System.Data.OracleClient引用 2. using System.Data.OleDb; 3. string connString = "Provider=MSDAORA.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))"; OleDbConnection cnn = new OleDbConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); } 备注Q? a.XP操作pȝ已经安装?jin)微软公司的Oracle驱动C:\Program Files\Common Files\System\Ole DB\msdaora.dll b.该驱动需要Oracle客户端的三个文g(oraocixe10.dll、oci.dll、ociw32.dll)攑֜System32下即? 五:(x)使用ODPq接 1. 下蝲安装ODP.NET(http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html) 2. 安装完全成后?x)生一序列文g? 3. 扑ֈq个安装目录Q打开文g?ORACLE_HOME%\Network\Admin在这个下面徏立一个tnsnames.ora的文Ӟ其内容可以参考其下的Sample目录下面的配|? Oracle.RACE = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521) ) ) (CONNECT_DATA= (SID=RACE) (SERVER=DEDICATED) ) ) Oracle.RACE接字W串名称Q可以随便取。等号后面的字符串可以在Enterprise Manager Console工具中连接数据库后的TNS描述W中拯? 4. 引用Oracle.DataAccess命名I间 5. using Oracle.DataAccess.Client; 6. CZ代码Q? string connString = "DATA SOURCE=Oracle.RACE;PERSIST SECURITY INFO=True;USER ID=IFSAPP;password=IFSAPP"; OracleConnection conn = new OracleConnection(connString); try { conn.Open(); OracleCommand cmd = new OracleCommand(cmdText,conn); OracleDataReader reader = cmd.ExecuteReader(); this.DataGridView1.DataSource = reader; this.DataGridView1.DataBind(); } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); } 六:(x)使用W三斚w? W三斚w动有 DevartQ下载驱?http://www.devart.com/dotconnect/oracle/Q但是是商业版,需要购买许可或破解 q接格式 User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0; 1. 引用Devart.Data.Oracle命名I间 2. using Devart.Data.Oracle; 3. OracleConnection conn = new OracleConnection(); conn.ConnectionString = ""; conn.Unicode = true; conn.UserId = "IFSAPP"; conn.Password = "IFSAPP"; conn.Port = 1521; conn.Server = "127.0.0.1"; conn.Sid = "RACE"; try { conn.Open(); //execute queries, etc } catch (Exception ex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }</pre><img src ="http://www.shnenglu.com/init/aggbug/212469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/init/" target="_blank">情绝D(fresmaster)</a> 2015-12-12 15:18 <a href="http://www.shnenglu.com/init/archive/2015/12/12/212469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据lg?DataSethttp://www.shnenglu.com/init/archive/2015/12/06/212426.html情绝D(fresmaster)情绝D(fresmaster)Sun, 06 Dec 2015 08:46:00 GMThttp://www.shnenglu.com/init/archive/2015/12/06/212426.htmlhttp://www.shnenglu.com/init/comments/212426.htmlhttp://www.shnenglu.com/init/archive/2015/12/06/212426.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/212426.htmlhttp://www.shnenglu.com/init/services/trackbacks/212426.html阅读全文

情绝D(fresmaster) 2015-12-06 16:46 发表评论
]]>
ADO.NET 基础Q事务、通用的数据工厂)(j)http://www.shnenglu.com/init/archive/2015/12/06/212425.html情绝D(fresmaster)情绝D(fresmaster)Sun, 06 Dec 2015 08:45:00 GMThttp://www.shnenglu.com/init/archive/2015/12/06/212425.htmlhttp://www.shnenglu.com/init/comments/212425.htmlhttp://www.shnenglu.com/init/archive/2015/12/06/212425.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/212425.htmlhttp://www.shnenglu.com/init/services/trackbacks/212425.html阅读全文

情绝D(fresmaster) 2015-12-06 16:45 发表评论
]]>
C# Tostring() 格式大全http://www.shnenglu.com/init/archive/2015/12/06/212424.html情绝D(fresmaster)情绝D(fresmaster)Sun, 06 Dec 2015 08:44:00 GMThttp://www.shnenglu.com/init/archive/2015/12/06/212424.htmlhttp://www.shnenglu.com/init/comments/212424.htmlhttp://www.shnenglu.com/init/archive/2015/12/06/212424.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/212424.htmlhttp://www.shnenglu.com/init/services/trackbacks/212424.html阅读全文

情绝D(fresmaster) 2015-12-06 16:44 发表评论
]]>
数据库数据{?/title><link>http://www.shnenglu.com/init/archive/2015/10/23/212076.html</link><dc:creator>情绝D(fresmaster)</dc:creator><author>情绝D(fresmaster)</author><pubDate>Thu, 22 Oct 2015 16:27:00 GMT</pubDate><guid>http://www.shnenglu.com/init/archive/2015/10/23/212076.html</guid><wfw:comment>http://www.shnenglu.com/init/comments/212076.html</wfw:comment><comments>http://www.shnenglu.com/init/archive/2015/10/23/212076.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/init/comments/commentRss/212076.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/init/services/trackbacks/212076.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://www.shnenglu.com/init/archive/2015/10/23/212076.html'>阅读全文</a><img src ="http://www.shnenglu.com/init/aggbug/212076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/init/" target="_blank">情绝D(fresmaster)</a> 2015-10-23 00:27 <a href="http://www.shnenglu.com/init/archive/2015/10/23/212076.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VS2008下编写QTE序环境讄http://www.shnenglu.com/init/archive/2015/08/22/211652.html情绝D(fresmaster)情绝D(fresmaster)Sat, 22 Aug 2015 06:55:00 GMThttp://www.shnenglu.com/init/archive/2015/08/22/211652.htmlhttp://www.shnenglu.com/init/comments/211652.htmlhttp://www.shnenglu.com/init/archive/2015/08/22/211652.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/211652.htmlhttp://www.shnenglu.com/init/services/trackbacks/211652.html一、环境配|?/font>

     用VS新徏一个win32控制台应用程?我们假设工程名ؓ(f)QHello?

 

     选择工具->选项->目和解x?>VC++目录?/font>

         (1)  选择“可执行文?#8221;Q在里面dQC:\Qt4.7.0\bin;

         (2)  选择“包含文g”Q在里面dQC:\Qt4.7.0\include;   C:\Qt4.7.0\include\Qt;   C:\Qt4.7.0\include\QtCore;   C:\Qt4.7.0\include\QtGui

         (3)  选择“库文?#8221;Q在里面dQC:\Qt4.7.0\libQ?

 

二、开始编E?

   1.     选择菜单上的“QT”选项- >“Launch Designer” ,启动designer : 攑օ一?#8220;label”,内容写ؓ(f)QhelloQT。然后保存ؓ(f)Hello.uiQ再它d到源文g中?/font>

           叛_“Hello.ui”->“属?#8221;->“自定义生成步?#8221;Q?/font>

           命o(h)行:(x)uic.exe Hello.ui -o HelloUi.h

           输出QHelloUi.h

           附加依赖:(x)uic.exe; Hello.ui

           然后Q点?#8220;定”。这时再叛_“Hello.ui”Q选择“~译”Q则?x)生成HelloUi.h。将它添加到工程中?/font>

    2.   在Hello.cpp中编写代码:(x)

    3.   选择“目”Q?#8220;Hello属?#8221;Q?#8220;配置属?#8221;Q?/font>

           (1)  “常规”Q选择“字符?#8221;?#8220;使用多字节字W集”Q?/font>

           (2)  “调试”Q填?#8220;环境”gؓ(f)QPATH=C:\Qt4.7.0\binQ?/font>

                         填写“合ƈ环境”gؓ(f)Q是Q?/font>

           (3)  “链接?#8221;Q进?#8220;常规”选项Q填?#8220;附加库目?#8221;为:(x)C:\Qt4.7.0\lib;

                            q入“输入”选项Q填?#8220;附加依赖?#8221;为:(x)qtcore4.lib qtgui4.lib

                           Q注意,q两个库之间为空|不能写逗号Q?/font>

                                                                                                                                                                                                                                                               

  • 信号和槽
  •     信号signals的声明是头文件中q行的(槽的声明也在头文件中声明Q同时要在类声明的开始处加上Q_OBJECT语句Q这告诉编译器在编译之前必ȝmoc工具q行扩展Q,q且moc    工具?x)注意不要将信号定义在实现文件中Q用signals关键字标CZ号声明区Q随后可声明自己的信受?/font>

         信号signals没有public\private\protected{属性,q点不同于slots?/font>

         信号signals的返回gؓ(f)void   

         槽slots有public slots、private slots、protected slots (Ҏ(gu))

         信号signals/事g->Q驱动)(j)槽slots/Ҏ(gu)

     

  • 元对?/font>
  • QT的元对象pȝ为QT提供?jin)对象间通信的信号与槽机制、实时类型信息、动态属性系l等斚w的功能?/font>

           元对象系l在QT中主要有以下三个部分构成QQObjectcRQ_OBJECT宏、元对象~译器moc

     

       3.vs中QT昄中文Q?/font>

          #include <QTextCodec>

         QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));

         QFont font("Times",12,QFont::Normal,FALSE);

         app.setFont(font);

          QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));

         //QFont font("Times",12,QFont::Normal,FALSE);

         //a.setFont(font);

     

        4.QActionc?/font>的用?/font>

        1、QAction::QAction ( const QString & text, QObject * parent )

              QActioncȝ构造函C一Q利用textQparent创徏QAction对象。QAction对象一般ؓ(f)菜单中的菜单,比如 "文g"菜单?新徏"选项是一个QAction对象Q?/font>

             上述构造函Ctext成员变量       即ؓ(f)菜单Ҏ(gu)表示的内?/font>

             用法QQAction *newAction = new QAction(tr("&New"),this);

        2、void QAction::setIcon ( const QIcon & icon )

              该函数可讄菜单名U前的图?/font>

              用法QnewAction->setIcon(QIcon(":/images/new.png"));

        3、void QAction::setShortcut ( const QKeySequence & shortcut );

              讄QAction对象执行的快捷键

              用法QnewAction->setShortcut(tr("Ctrl+N"));

         4、void QAction::setStatusTip ( const QString & statusTip );

               讄当鼠标移动到“动作”上时Q状态栏昄的提C?/font>

         5、void QAction::setVisible ( bool );

              讄“动作”昄与否Q当形参为true是,“动作”表示?/font>

         6、void QAction::triggered ( bool checked = false ) [signal]

              此函Cؓ(f)信号Q当用户触发?#8220;动作”Ӟ此信号发。例如用L(fng)M(jin)菜单中的菜单等?/font>

              此函C般用法ؓ(f)Q在QObject::connectQ)(j)函数中作Z号参敎ͼ用于触发“动作”所对应执行的槽函数——实现“动作”的功能函敎ͼ例如Q?#8220;新徏”按钮被用h下,

             所需要的功能可能      是新Z个文档,那么新徏一个文档的动作在q个槽函C实现。至于此信号函数中的形参暂时可以忽略。以后会(x)在介lQObjectcM的静(rn)态方法connect()函数时详l解说?/font>

          7、void QAction::setCheckable ( bool );

             此函数用于设|QActioncM的私有变量:(x) bool checkable Q此属性用以提?#8220;动作”是否为复选动作,例如Qt Creator?#8220;控g”菜单中的“全屏”菜单即为复选动?/font>

    菜单

        5  QMainWindowc?/font>用法

      1、void QMainWindow::setCentralWidget ( QWidget * widget );

          此方法作用ؓ(f)讄传入部gZH口布局的中?j)领域部件。传入部件可ZQ意的部g或QWidgetcȝ子类部g。对?#8220;部g”q个词的理解可以理解为某机器上的一个螺丝、一个配件等{,其实部g是Z和某配g的一个抽象感念嘛Q他们都叫做部gQ但是却有着不同的作用和形状。以后会(x)遇到很多cȝ承QWidgetcȝ。相信大安比笔者聪明,或许我是在说些废话,呵呵?/font>

          举例Q?/font>

               在自定义的承于QMainWindow的来构造函数里面:(x)

                 QTableWidget *table = new QTableWidgetQ?nbsp;    //QTableWidgetl承于QWidgetc;

                setCentralWidget(table);

         2、void  QMainWindow::setWindowIcon ( const QIcon & icon );

          讄H口左上角图标,支持PNG、BMP、GIF、FPEG、PNM、XBM、XPM格式文g?/font>

          一下ؓ(f)几种GUI应用E序提供资源的方法:(x)

                ①图片存入文Ӟ在程序运行时加蝲

                ②XPM文g包含在源E序中,因ؓ(f)XPM文g是有效的C++文g

                ③使用Qt的资源机?#8212;———此种方式不仅仅支持图片格式文Ӟ而且支持M格式的文?/font>

         3、QMenuBar *QMainWindow::menuBar() const;

          此方法返回一个主H口的菜单栏对象指针。如果在调用此方法时Q主H口不存在菜单栏Q则此方法会(x)创徏一个空的菜单栏。在Mac应用E序中,如想在多个主H口之间׃n一个菜单栏Q则需要用QMenuBar *menuBar = new QMenuBar(0);形式创徏菜单栏,卛_Z个无爉件的菜单栏对象?/font>

          q里解释一下什么叫做父部gQ初学一定对q个概念不理解,q里的父部g不是C++中类的承关p,而是部g与部件的关系。我也是学习(fn)?jin)一D|间才慢慢(zhn)出q里面的道理的。我看的是《C++ GUI Programming with Qt 4》英文原版,本来理解h有些障,再遇到这h的概念词汇,更是不知其所云。ؓ(f)什么看英文原版书呢Q个得国内翻译的不是很到位,可能在某个地Ҏ(gu)关键点给我造成误导Q貌似扯q了(jin)。。。即说说爉件是个什么东西,现在为大家打个比方,一张电(sh)脑桌由多个部件构成,如桌面,桌子腿,抽屉{等Q抽屉上面有抽屉把手Q那么抽屉就是抽屉把手的爉Ӟ?sh)脑桌就是抽屉的爉件。相信这栯释,大家一定就?x)理解?jin)?/font>

         4、QToolBar * QMainWindow::addToolBar ( const QString & title );

          此函Cؓ(f)重蝲函数Q其余两个ؓ(f)已创Z(jin)工具?QToolBar)对象Ӟ工h对象d到QMainWindow对象中。下面就?x)马上列(gu)两个cL法。在调用此方法时Q会(x)创徏一个QToolBar对象Q返回这个对象的指针Qƈ在主H口剙工具栏区域中昄?/font>

        5、void QMainWindow::addToolBar ( Qt::ToolBarArea area, QToolBar * toolbar );

          与上个函数构成重载关p,此函数第二个形参为已定义好的工具栏对象指针,W一个Ş参工h表示的位|,此Ş参ؓ(f)枚D型变量?/font>

          工具栏表CZ|共4U,卛_右上下:(x)

            (1) Qt::LeftToolBarArea      0x1

            (2) Qt::RightToolBarArea     0x2

            (3) Qt::TopToolBarArea       0x4

            (4) Qt::BottomToolBarArea  0x8

        6、void QMainWindow::addToolBar ( QToolBar * toolbar );

          与调?addToolBar(Qt::TopToolBarArea, toolbar) Ҏ(gu)效果相同Q即调用 addToolBar(Qt::TopToolBarArea, toolbar) Ҏ(gu)Q工h昄区域默认ZH口剙?/font>

        7、QStatusBar *QMainWindow::statusBar() const;

          当主H口状态栏不存在时Q创建状态栏Qƈq回状态栏对象指针。一般在自定义QMainWindow子类的构造函数时使用Q创建状态栏对象。创建后Q添加QLabel对象Q以昄ȝ口状态或菜单栏中按钮的状态提C?/font>

    怿通过3????、QMainWindowcL法的学习(fn)Q大家应该掌握了(jin)创徏菜单栏,工具栏和状态栏的方法。通常的主H口一般也需要这些东西了(jin)。但要想让菜单栏Q工h以及(qing)状态栏能有自己的动作或行ؓ(f)Q还需要其他类的配合用。大家不用急,QMainWindowcȝ单介l完毕之后,?x)介l这些相关的cd(qing)其用方法?/font>

        8、void QMainWindow::setWindowModified(bool);

          当此函数形式参数为trueӞ卌|了(jin)WindowModified属性ؓ(f)trueQ意思ؓ(f)表明先编辑的文档有更斎ͼq时QQt?x)自动更新标题栏QMac OS X pȝ上在ȝ口的关闭按钮上将出现一个变更的样式Q其他系l或q_上会(x)在主H口标题栏的文g名后多显CZ?#8220;*”?/font>

     

    void MainWindow::open()
    {
        QDialog *dialog = new QDialog;
        dialog->setAttribute(Qt::WA_DeleteOnClose);
        dialog->setWindowTitle(tr("Hello, dialog!"));
        dialog->show();

     

    void MainWindow::open()
    {
        QDialog dialog(this);
        dialog.setWindowTitle(tr("Hello, dialog!"));
        dialog.exec();
    }

     

     



    ]]>
    可信旉戛_ȝ信息化中的应?/title><link>http://www.shnenglu.com/init/archive/2015/08/20/211622.html</link><dc:creator>情绝D(fresmaster)</dc:creator><author>情绝D(fresmaster)</author><pubDate>Thu, 20 Aug 2015 06:27:00 GMT</pubDate><guid>http://www.shnenglu.com/init/archive/2015/08/20/211622.html</guid><wfw:comment>http://www.shnenglu.com/init/comments/211622.html</wfw:comment><comments>http://www.shnenglu.com/init/archive/2015/08/20/211622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/init/comments/commentRss/211622.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/init/services/trackbacks/211622.html</trackback:ping><description><![CDATA[<p><b><a name="_Toc257045862">1 </a>概述</b> <p>随着信息化的发展Q医疗机构越来越多依赖各U信息化手段来提高运行效率和保障工作质量Q医疗信息化已经遍布在医疗机构的各个环节。这U状늚存在医院不可避免的面临一pd新的问题Qؓ(f)此,国家卫生行政理部门和司法部门相l出C(jin)一pd的规章、规定以保障L双方的利益? <p>本方案根据卫生部《电(sh)子病历基本规范》、《医疗事故处理条例》、《电(sh)子病历系l功能规范(试行Q》、《医院卫生系l电(sh)子认证服务管理办法》、《中华h民共和国?sh)子{֐法》、《中华h民共和国侉|责Q法》、《最高h民法院关于民事诉D据的若干规定》等法律法规的相兌定,l合医院信息pȝ和业务特点,以国家授时中?j)徏讑֒保障的第三方可信旉x务ؓ(f)主要技术手D,解决ȝ理信息pȝ中存在的?sh)子{֐有效性、电(sh)子数据(数据甉|Q的真实完整性、生时间权威等问题Q介l了(jin)可信旉戛_何帮助医疗机构解军_实施信息化过E中l医疗机构带来的的技术风险;如何在出现医(zhn)纠Uhȝ机构能降低D证成本和有效举证Q如何用可信时间戳建立内部责Q认定体系? <p>可信旉戳的使用是医疗机构的信息化系l能够满_家有x准和法律法规的要求和ȝl构降低q营成本、徏立内部责任认定体pR保障医院的合法权益和降低医院法律风险的必要手段。该Ҏ(gu)?010q?1?4日由卫生部组l的《可信时间戳与电(sh)子病历法律效力研讨论证会(x)》上获得通过Q医政司、政{法规司、医院管理研I所、卫生部l计信息中心(j)、协和医院、北大h民医院、北M院、北京市(jng)西城法院法官、中国医院协?x)自律维权部、国家法官学院、国家授时中?j)、联合信L间戳服务中心(j)的有关领导和专家参加?jin)论证? <p><b><a name="_Toc257045863">2 </a>可信旉戳的概念与作?/b> <p><b><a name="_Toc257045864">2.1 </a>可信旉戳释?/b> <p>可信旉x由权威时间戳服务中心(j){֏的一个能证明数据甉|Q各U电(sh)子文件和?sh)子数据Q在一个时间点是已l存在的、完整的、可验证的,具备法律效力的电(sh)子凭证;是解冟뀊中华h民共和国?sh)子{֐法》中Ҏ(gu)据电(sh)文原件Ş式要求的必要技术保障。我国权威的旉x务中?j)?a >www.tsa.cn</a>Q是由国家法定授时机构(国家授时中心(j)Q和联合信Q共同Q按照有x准和规定q营Q对各行业提供权威可信时间戳服务? <p><b><a name="_Toc257045865">2.2 </a>可信旉戳?/b> <p>Ҏ(gu)国际旉x准《RFC3161》,可信旉x用L(fng)?sh)子数据的Hash值封装成可信旉戌求发送到旉x务中?j),在此基础上绑定由国家权威旉机构保障、不可更改的旉信息q过旉x务中?j)签发,产生不可伪造的旉x件。通过?sh)子数据及(qing)对应可信时间戳文g有效证明?sh)子数据的完整性及(qing)产生旉? <p><b>[</b><b>图一] 可信旉戳生原?/b> <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="111.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/8cae828ecaaded8a04f4840992e200a1.jpg" width="776" height="399"> <p><b><a name="_Toc257045866">2.3 </a>可信旉x律效?/b> <p>可信旉戛_ȝ权威W三Ҏ(gu)间戳服务中心(j){֏Q由国家授时中心(j)来负责保障时间的授时和守时监,M机构包括旉戳中?j)自׃能对旉q行修改以保障时间的权威Q只有这样生的旉xh法律效力。联合信L间戳服务中心(j)是我国目前唯一由国家授时中?j)进行时间的权威保障的第三方可信旉x务机构,其签发的旉戛_l得C(jin)司法的认可,是具有法律效力的可信旉戟? <p><b>[</b><b>图二] 可信旉x务构?/b> <p><b><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="222.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/d8a8c87278b4395a6ae0a0e581131f09.jpg" width="613" height="458"></b> <p><b><a name="_Toc257045867">2.4 </a>可信旉戳的基本作用</b> <p><b>2.4.1 解决?sh)子{֐法中Ҏ(gu)据电(sh)文(?sh)子文gQ满x律法规要求的原g形式的有效手D?/b> <p>《中华h民共和国?sh)子{֐法》第二章数据甉|W五条中规定Q“符合下列条件的数据甉|Q视为满x律、法规规定的原g形式要求Q? <p>Q一Q能够有效地表现所载内容ƈ可供随时调取查用Q? <p>Q二Q能够可靠地保证自最lŞ成时P内容保持完整、未被更攏V但是,在数据电(sh)文上增加背书以及(qing)数据交换、储存和昄q程中发生的形式变化不媄(jing)响数据电(sh)文的完整性。? <p>如何保证?sh)子数据自最lŞ式生成,内容保持完整、未被更攏V以实现ȝ行ؓ(f)的“重现”,保证ȝ?sh)子数据Q数据电(sh)文的“客观性和真实性”。关键在于确保数据电(sh)文何时已存在产生Q自形成始内容完整且是可验证的? <p>Ҏ(gu)可信旉戳的基本功能Q可信时间戳W合《中华h民共和国?sh)子{֐法》第二章关于数据甉|原g形式的要求,能有效证明数据电(sh)文(?sh)子文gQ生的旉?qing)内容的完整性,保证数据甉|的客观性、真实性,应用于数据电(sh)文长期归档、保存、验证、及(qing)法律证据举证? <p><b><a name="_Toc257045868">2.4.2  </a>解决?sh)子{֐的有效?/b> <p>《中华h民共和国?sh)子{֐法》中对电(sh)子签名的定义为:(x)“电(sh)子签名,是指数据甉|中以?sh)子形式所含、所附用于识别签名hw䆾q表明签名h认可其中内容的数据。本法所U数据电(sh)文,是指以电(sh)子、光学、磁或者类似手D는成、发送、接收或者储存的信息。? <p><b>Ҏ(gu)已经颁布实施的?/b>国标GB/T25064-2010<b>》规定,?sh)子{֐格式有如下几U:(x)</b> <p>l <b>基本?sh)子{֐Q?/b><b>BES</b><b>Q?/b> <p>基本?sh)子{֐方式QBESQ是指包括了(jin){֐基本数据信息的电(sh)子签名? <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="333.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/80355d76b3329a3615ad03908bc4144b.jpg" width="573" height="192"> <p><b></b> <p>采用基本?sh)子{֐方式存在以下问题:(x) <p>在现时的公钥基础中,采用?sh)子{֐技术来保{v人的w䆾和验证数据是否篡攏V然而综合众多现实案例中出现的情形,采用基本?sh)子{֐方式的不之处在于“数字签名的伪造”,׃数字证书有效期ؓ(f)一q_(d)且用户可以随时吊销数字证书Q数字证书失效后Q无法确认电(sh)子签名的有效性,基本?sh)子{֐一般只用在通讯q程中的w䆾认证和防止数据在通讯q程被篡改,?sh)子数据的长期归档保存不能用基本签名来实现抗抵赖特性? <p>l <b>带时间戳的电(sh)子签名(ES-TQ?/b> <p>Ҏ(gu)标准?sh)子{֐方式Q其在基本电(sh)子签名的基础上添加了(jin)旉戻I其目的是开始在长时间的有效性上提供一定程度的保证? <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="444.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/40d3b833b6f3f1e555849d992021cc30.jpg" width="677" height="225"> <p>当某些验证数据的安全性受到威胁的时候,?sh)子{֐上的旉戛_保护{֐的有效性,只要q些安全性威胁是在签名生以后发生的。时间戳可有效证明电(sh)子签名是在该安全威胁产生前创建的Q?sh)子{֐仍可保持其有效性? <p>l <b>带归档时间戳的电(sh)子签?/b> <p>各种法、密钥、加密数据、加密函数都?x)随着旉的增加而逐渐降低其安全性,各种证书也会(x)随着旉而纷U失效,如果要长期保存一个电(sh)子签名,需要在q些成分的安全性降低前Ҏ(gu)个电(sh)子签名加盖一ơ时间戳。新加的旉戛_可能使用比老时间戳更强的算法和密钥。这c额外添加的验证数据UCؓ(f)归档验证数据? <p>考虑到时间戳所使用的证书、算法和密钥也会(x)随着旉而失效或降低安全性,在这U情况发生前Q必d盖新的时间戳。因此,一个ES-A可能嵌套?jin)多重时间戳? <p>lg?sh)子{֐的几UŞ式上看,?sh)子{֐证实?jin)签|h的n份。但是,如果文g没有一个准可靠的{v旉Q即佉K有电(sh)子签名的文g也有可能不被承认起不到抗抵赖的做用。可信时间戳能ؓ(f)?sh)子{֐提供实的签|时_(d)保证?sh)子{֐的有效性,q样既能证实{v人的w䆾Q亦能指出准的{v旉Q人无从抵赖或否认。可信时间戳是电(sh)子签名有效性的基本保障? <p><b><a name="_Toc257045870">3 </a>可信旉戛_ȝ卫生信息pȝ中的作用</b> <p>1、ؓ(f)ȝ数据甉|Q电(sh)子文Ӟ(j)在出现纠Uh能有效D证,降低医院的D证成本,保障医院利益Q规避法律风险; <p>2、ؓ(f)医院信息pȝ中用电(sh)子签名的数据Q提供标准中规定的可信时间戳Qȝ机构的电(sh)子签名格式满高U电(sh)子签名的要求Q保障医疗机构电(sh)子签名在{֐证书失效后应然有效? <p>2、ؓ(f)ȝ信息?sh)子数据Q数据电(sh)文)(j)的长期保存、归档提供客观、安全、真实性保障? <p>4、ؓ(f)医院加强理、徏立内部责任认定体pL供基技术保障; <p><b><a name="_Toc257045878">4 </a>可信旉戛_ȝ卫生信息pȝ中的应用解决Ҏ(gu)</b> <p><b><a name="_Toc257045879">4.1 </a>可信旉x术实现构?/b> <p>可信旉戛_ȝ卫生信息pȝ中的实现构架主要由时间戳中间件应用组件与可信旉x据库存储lgl成Q时间戳服务中心(j)提供W合国际标准的接口程序,ȝ机构几乎不用修改pȝ既可以方侉K|Ԍ具体架构如图Q? <p><b><a name="_Toc257045880">4.2 </a>可信旉x术实现细?/b> <p><b></b><b>可信旉戳申?/b> <p>联合信Q旉戳中间g采用异步的方式实现时间戳甌功能Q通过UDP通讯协议方式讉K中间仉讯接口q行h可信旉戳申h作。中间g接收到请求后Q将h数据存储x据库中,q进行应{响应结束此ơ通讯对话Q以保证ȝ工作程的正常进行。封装成旉x准请求包Qƈ按照h的优先񔞮发送至联合信Q旉戳中?j)进行加盖可信时间戳。成功返回可信时间戳后,可信时间戳存储至中间g存储lg中。若发生异常情况Q导致无法完成此ơ时间戳甌操作Q中间g?x)将此数据请求进行存档。由按照规则自动启动的异常处理模块定时扫描的方式Q重新处理此数据h。具体流E如图:(x) <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="555.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/075077841cff0ca01a0822e3ab10586f.jpg" width="748" height="438"> <p>囄h间戳程 <p>囑ּ常处理模块处理失败请求流E? <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" alt="666.jpg" src="http://chisc.net/d/file/yiliaoxinxixitongjishu/jxyy/2011-03-08/010e652a751f4611f537087f59570881.jpg" width="699" height="599"> <p><b>已加盖时间戳ȝ?sh)子数据查询验?/b> <p>联合信Q旉戳中间g提供可信旉戳的验证接口Q通过通讯接口的进行交互可以已加盖旉戛_疗电(sh)子数据是否被改或查询可信时间戳{֐旉。验证接口提?U验证成功后的返回数据结果方式:(x) <p>Ø q回可信旉戳签名时? <p>Ø q回可信旉x? <p>Ø q回可信旉戳签名时间和可信旉x? <p><b><a name="_Toc257045881">4.3 </a>可信旉x术实现特?/b> <p>Ø 高可靠性:(x)旉x务中?j)采取消息中间g与医院信息系l链接,保障?jin)申h间戳的请求能不丢失,完整q回甌旉戳电(sh)子凭证。时间戳服务中心(j)的高可靠和高速签发能力保障了(jin)7x24时不间断服务? <p>Ø  数据安全性:(x)pȝ采用旉戳专用隔ȝ兛_中间件程序,上传到时间戳中心(j)的只是医疗数据的hash|不上传医疗数据内Ҏ(gu)w,从而保障了(jin)ȝ信息数据的安全。针对不能链接外|的ȝ信息pȝQ用时间戳甌专用|闸{进行内外网分离? <p>Ø 适用性:(x)采用模块化设计技术,便于升和扩展? <p>Ø 跨^台性:(x)可以在UNIX、LINUX{多U操作系l^Cq行? <p>Ø负蝲动态均衡技术:(x)Ҏ(gu)用户的实际需求,可以实现自动负蝲动态均衡,使得旉戳中间g能够发挥最佳的使用效率? <p><b><a name="_Toc257045882">4.4 </a>可信旉x术实现环?/b> <p>联合信Q旉戳中间g所需2台硬件企业服务器,以下为硬件环境和软g环境需求:(x) <p> </p><strong></strong> <p><b><a name="_Toc257045886">4.5 </a>出现发生ȝU纷争议时时间戳证据的提?/b> <p>在发生医疗纠Uh需要对ȝ?sh)子数据q行验证Ӟ需要提取医院加盖时间戳的电(sh)子数据原文和旉戛_储服务器上的旉戳电(sh)子文Ӟ或时间戳服务中心(j)存储的时间戳Q,由时间戳服务中心(j)或其他第三方鉴定机构按照旉x术标准出具验证报告。证明相x据是否被改和生的旉? <p><b><a name="_Toc257045887">5 </a>Ҏ(gu)ȝ-可信旉x保障ȝpȝ信息化系l法律效力的基础</b> <p>1、医疗机构需要制定科学有效的使用可信旉戛_?sh)子{֐的策略,在容易出现纠UL(fng)关键数据上合理用,q样既可以解军_(zhn)纠Uhȝ机构举证困难、D证成本高的问题,又可以解军_疗机构在实际工作中由于工作需要合理修改诊疗数据给(zhn)者带来的疑虑? <p>2、医疗机构需要长期归档保存的各类ȝ数据、医疗记录、媄(jing)像资料等Q通过加盖旉戻I保证?jin)医疗信息的旉及(qing)内容真实可靠性,解决(zhn)者和司法机构对电(sh)子病历的改、伪造的质疑Q即使数q以后仍h法律效力Q客观真实反映医疗过E,对界定工作责仅R追I医疗事故v着致关重要的作用? <p>3、时间戳服务中心(j)由我国唯一法定旉机构负责监控、保持,保证?jin)时间的权威、可靠、不可篡攏V实施时间戳认证后、院Ҏ(gu)能力有效的保存经权威旉认证后的ȝ数据Q避免了(jin)数据保存在第三方处的存在的数据安全风险? <p>4、由于医院内部系l时间、电(sh)子病历数据、电(sh)子签名证书等都完全由医院控制Q在医院内部责Q认定和医(zhn)纠UD证时q些?sh)子数据的可信性将受到质疑?qing)否认,?gu)《中华h民共和国侉|责Q法》、《最高h民法院关于民事诉D据的若干规定》,D医院处于极ؓ(f)不利的境圎ͼ医院利益受到极大损害? <p>通过采用国家授时中心(j)旉x务中?j)权威可信时间戳认证Q对ȝ?sh)子数据Q电(sh)子病历、各cd疗记录、检查报告、各cd(jing)像资料、图片等Q加盖时间戳后进行归档保存,有效保障?jin)?sh)子数据的完整性及(qing)产生旉的不可否认,真实客观的反映了(jin)ȝ行ؓ(f)Q符合相x律规章规定,医院h法律效力的医疗数据证据,规避?jin)院方利益受损的巨大风险Q同时增Z(jin)pȝ安全性,医院自己能保存医疗信息资料,避免泄露隐?zhn)? <img src ="http://www.shnenglu.com/init/aggbug/211622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/init/" target="_blank">情绝D(fresmaster)</a> 2015-08-20 14:27 <a href="http://www.shnenglu.com/init/archive/2015/08/20/211622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>glAlphaFunc in OpenGL ES2.0http://www.shnenglu.com/init/archive/2012/11/19/195387.html情绝D(fresmaster)情绝D(fresmaster)Mon, 19 Nov 2012 14:28:00 GMThttp://www.shnenglu.com/init/archive/2012/11/19/195387.htmlhttp://www.shnenglu.com/init/comments/195387.htmlhttp://www.shnenglu.com/init/archive/2012/11/19/195387.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/195387.htmlhttp://www.shnenglu.com/init/services/trackbacks/195387.htmlIn OpenGL ES 2.0 glAlphaFunc isn't available, you have to implement it in a fragment shader. There isn't a lot of reference out there for this (not that I could find anyway) so I thought I'd write this up.

    It's actually quite simple to implement a quick alpha test. I needed to be able to cookie cut out sprites and fonts so I simply needed to reject fragments where the alpha value was zero. Here are the guts of a shader to do this:

    #ifdef GL_ES 
    precision highp float;
    #endif 
    uniform sampler2D u_tex0; 
    uniform bool u_alphatestenable; 
    varying vec2 v_texCoord;
    varying vec4 v_color;
    void main(){ 
        //calculate the fragment color based on the texture and the vertex colour
        vec4 basecolor = texture2D( u_tex0, v_texCoord ) * v_color;
    
        //if testing is enabled, check the alpha component and discard if zero      
        if(u_alphatestenable){ 
            if(basecolor.a == 0.0){ 
                //throw this fragment away
                discard;
            }
        }
        gl_FragColor = basecolor;
    }

     

    You need to set up a uniform variable u_alphatestenable which enables the alpha test. If you want to support different test types ( less than, greater than etc) then you will need two more uniform variables: one for the test type and one for the value to test against.

    int uni_alphatest_enable = glGetUniformLocation(mProgram, "u_alphatestenable"); 
    bool alphateston = true; 
    glUniform1i(uni_alphatest_enabl

     

    note that you shouldn't call glGetUniformLocation every frame, it should be cached somewhere.
    It's quite simple and while you may be thinking oh that is so slow it not that bad. It's faster then the fixed function pipeline which is doing tests for alpha, lights, blend modes etc. If you get paranoid then you can create multiple shaders that support different subsets of features. All you need to be careful of is the cost of calling glSetProgram (to switch shaders) which can be expensive and cause bubbles in the vertex pipeline in the hardware.



    ]]>
    Gamma Correctionhttp://www.shnenglu.com/init/archive/2012/11/15/195246.html情绝D(fresmaster)情绝D(fresmaster)Thu, 15 Nov 2012 15:05:00 GMThttp://www.shnenglu.com/init/archive/2012/11/15/195246.htmlhttp://www.shnenglu.com/init/comments/195246.htmlhttp://www.shnenglu.com/init/archive/2012/11/15/195246.html#Feedback1http://www.shnenglu.com/init/comments/commentRss/195246.htmlhttp://www.shnenglu.com/init/services/trackbacks/195246.html
    image

    在计机囑Ş学领域时常听到gamma correction Qgamma correction 控制?jin)图像整体的亮度Qreproduce colors也需要gamma correction的一些理论知识,gamma correction不仅仅是控制?jin)图像的亮度Q而且q控制了(jin)RGB各个分量的比例,我们知道渲染器是U性的Q而显C器qU性,其实?sh)子打在屏幕上从而生亮点,?sh)子的运动受电(sh)压控制Q这两者是指数关系的,所以生的亮度也跟?sh)压成指数关p,而发送给昄器的voltages范围?~1Q?/font>

    image

    image

    对于我们输入的图像,如果直接昄Q那么就?x)篇暗,?gu)已知?sh)压与显CZ度的关系Q进行gamma correction Q其实就是对gamma曲线的修正。一般生产厂家不加说明,他们的伽码值大U等?.5.

    image

    image

    代码Q?/p>

       gammaCorrection = 1 / gamma
       colour = GetPixelColour(x, y)
       newRed   = 255 * (Red(colour)   / 255) ^ gammaCorrection
       newGreen = 255 * (Green(colour) / 255) ^ gammaCorrection
       newBlue  = 255 * (Blue(colour)  / 255) ^ gammaCorrection
       PutPixelColour(x, y) = RGB(newRed, newGreen, newBlue)

    知道monitor不是一个线性的Q那么我们在q行颜色加法Ӟ我们得到的颜色ƈ不是真正的颜色值的相加Q比如gamma factor?.2

    red = add (r1, r2);

    red= add (0.235,0.156);

    对于一个线性设备,red = 0.391,对于未经修正的montior red=0.126;

    因ؓ(f)有一个幂函数的运:(x)C_out = C_in2.2

    现在使用gamma correction :C_corrected= C_out1.0/2.2

    0.3912.2 = 0.126

    0.1261.0/2.2 = 0.39

    我们看到使用伽码校正以后我们能得到我们预想的颜色?.39.

     

    imageimage

     

    imageimage

     

    imageimage

     

     

    There are two ways to do gamma correction:

    • Using the renderer. The renderer (the graphics card or GPU) is a linear device. Modern renderers have the support of gamma correction via sRGB textures and framebuffer formats. See the following OpenGL extensions for more details: GL_ARB_framebuffer_sRGB and GL_EXT_texture_sRGB. With these extensions you can get gamma corrected values for free but gamma correction factor is set to 2.2. You can’t change it.
    • Using a software gamma correction. The gamma correction is applied to the final scene buffer thanks to apixel shader and you can set the gamma correction you want.

    In OpenGL, using GL_ARB_framebuffer_sRGB is really simple: once your FBO is bound, just enable the sRGB space with

    glEnable(GL_FRAMEBUFFER_SRGB);
     
    gamma-correction


    ]]>
    Hemi-Sphere Lightinghttp://www.shnenglu.com/init/archive/2012/09/18/191143.html情绝D(fresmaster)情绝D(fresmaster)Tue, 18 Sep 2012 11:27:00 GMThttp://www.shnenglu.com/init/archive/2012/09/18/191143.htmlhttp://www.shnenglu.com/init/comments/191143.htmlhttp://www.shnenglu.com/init/archive/2012/09/18/191143.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/191143.htmlhttp://www.shnenglu.com/init/services/trackbacks/191143.html阅读全文

    ]]>
    辐射计量概念http://www.shnenglu.com/init/archive/2012/09/18/191130.html情绝D(fresmaster)情绝D(fresmaster)Tue, 18 Sep 2012 08:50:00 GMThttp://www.shnenglu.com/init/archive/2012/09/18/191130.htmlhttp://www.shnenglu.com/init/comments/191130.htmlhttp://www.shnenglu.com/init/archive/2012/09/18/191130.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/191130.htmlhttp://www.shnenglu.com/init/services/trackbacks/191130.html阅读全文

    ]]>
    Light Mappinghttp://www.shnenglu.com/init/archive/2012/09/18/191128.html情绝D(fresmaster)情绝D(fresmaster)Tue, 18 Sep 2012 08:48:00 GMThttp://www.shnenglu.com/init/archive/2012/09/18/191128.htmlhttp://www.shnenglu.com/init/comments/191128.htmlhttp://www.shnenglu.com/init/archive/2012/09/18/191128.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/191128.htmlhttp://www.shnenglu.com/init/services/trackbacks/191128.html阅读全文

    ]]>
    GLSL.Ambient occlusion http://www.shnenglu.com/init/archive/2012/04/30/173280.html情绝D(fresmaster)情绝D(fresmaster)Mon, 30 Apr 2012 14:18:00 GMThttp://www.shnenglu.com/init/archive/2012/04/30/173280.htmlhttp://www.shnenglu.com/init/comments/173280.htmlhttp://www.shnenglu.com/init/archive/2012/04/30/173280.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/173280.htmlhttp://www.shnenglu.com/init/services/trackbacks/173280.html阅读全文

    ]]>
    GLSL.High Dynamic Rangehttp://www.shnenglu.com/init/archive/2012/04/19/172031.html情绝D(fresmaster)情绝D(fresmaster)Thu, 19 Apr 2012 13:48:00 GMThttp://www.shnenglu.com/init/archive/2012/04/19/172031.htmlhttp://www.shnenglu.com/init/comments/172031.htmlhttp://www.shnenglu.com/init/archive/2012/04/19/172031.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/172031.htmlhttp://www.shnenglu.com/init/services/trackbacks/172031.html阅读全文

    ]]>
    GLSL.Depth Of Fieldhttp://www.shnenglu.com/init/archive/2012/04/19/172028.html情绝D(fresmaster)情绝D(fresmaster)Thu, 19 Apr 2012 12:42:00 GMThttp://www.shnenglu.com/init/archive/2012/04/19/172028.htmlhttp://www.shnenglu.com/init/comments/172028.htmlhttp://www.shnenglu.com/init/archive/2012/04/19/172028.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/172028.htmlhttp://www.shnenglu.com/init/services/trackbacks/172028.html阅读全文

    ]]>
    GLSL.Image post-processinghttp://www.shnenglu.com/init/archive/2012/04/07/170372.html情绝D(fresmaster)情绝D(fresmaster)Sat, 07 Apr 2012 09:03:00 GMThttp://www.shnenglu.com/init/archive/2012/04/07/170372.htmlhttp://www.shnenglu.com/init/comments/170372.htmlhttp://www.shnenglu.com/init/archive/2012/04/07/170372.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/170372.htmlhttp://www.shnenglu.com/init/services/trackbacks/170372.html阅读全文

    ]]>
    GLSL.Parallax mappinghttp://www.shnenglu.com/init/archive/2012/04/07/169945.html情绝D(fresmaster)情绝D(fresmaster)Sat, 07 Apr 2012 09:03:00 GMThttp://www.shnenglu.com/init/archive/2012/04/07/169945.htmlhttp://www.shnenglu.com/init/comments/169945.htmlhttp://www.shnenglu.com/init/archive/2012/04/07/169945.html#Feedback0http://www.shnenglu.com/init/comments/commentRss/169945.htmlhttp://www.shnenglu.com/init/services/trackbacks/169945.html阅读全文

    ]]>
    ĻþӰԺ| һþ| ޹ƷþõӰŷ| Ʒ԰״̼þþ| Ʒþþþþù| ƷۺϾþþþþ98| þۺϾɫۺ97_þþ| þþþþ޾ƷӰԺ| þþþþþþþþ| þþƷҹƬ| þҹ³˿ƬҹƷ| þþþAVרJN| þøݾƷԴվ| AV˾þԭ| þseƷһ| þþþùƷ| þþƷ99þ㽶| ˾ƷѾþþþ| 97㽶þҹɫƷ| ޹˾þþƷӰ | þۺϸۺϾþ| 777þµַ| þˬˬƬAV| Ʒþۺ| þþþĸ| þùƵ| þþþĻƷ| Vþþ| ƷŮٸaѾþ| þøŮ߳MBA| ƷþþþþҰ| Ʒŷ޺ձþ | ˾þþƷӰԺ| ٸþĻ| ŷպ˾Ʒþþѿ | RE99þþƷ66| ŷƷ˾þ| þþƷAV͵ | þþƷWWW456C0M| 18պҹþó| ƷþëƬ|