�I�[�v���ȃO���t�B�b�N�X�J�[�h�������̂��̂��FTrend Insight�i1/2 �y�[�W�j
���S�ɃI�[�v���ȃr�f�I�J�[�h�̉��b�����[�U�[������̂͂���������ɂȂ邾�낤���A���̓����͊m���Ɏ������т���B
» 2006�N07��25�� 08��00�� ���J
[Joe-'Zonker'-Brockmeier�COpen Tech Press]
�@�r�f�I�J�[�h�̃N���[�Y�h�\�[�X�h���C�o�́A�t���[�\�t�g�E�F�A�M��҂N�Y�܂��Ă������Ȗ��ł���B�����Ă��̃r�f�I�J�[�h�ɂ̓I�[�v���\�[�X�h���C�o�����݂��邪�A���������h���C�o�̓r�f�I�J�[�h�̐��\�����S�ɗ��p�ł��Ă��Ȃ��������߁A���[�U�[�̓R�X�g����邩�A�p�t�H�[�}���X����邩�̓�ґ���𔗂��Ă����B�ŋ߂̘N��́AOpen Graphics Project�����S�ɃI�[�v���ȃr�f�I�J�[�h�̎�����ڎw���đO�i���Ă���Ƃ������Ƃ��B�������c�O�Ȃ���A�t���[�\�t�g�E�F�A�M��҂����S�ɃI�[�v���ȃr�f�I�J�[�h���g�p�ł���悤�ɂȂ�܂łɂ́A�܂����炭���Ԃ������邾�낤�B
�@OGP�̔��[�́A2004�N�Ƀe�B���E�~���[�����I�[�v���\�[�X�t�����h���ȃr�f�I�J�[�h���쐬����Ƃ����v���W�F�N�g��Linux�J�[�l�����[�����O���X�g�iLKML�j�Ŕ��\�������Ƃł���B�����̃~���[����Tech Source�ɋΖ����Ă��āA���Ђ��炱�̃v���W�F�N�g�ɂ��Ďx�����Ă����B
�@Tech Source�͓P�ނ������A���̃v���W�F�N�g�͍����i�s���Ă���B�~���[���͂��̃v���W�F�N�g���x����u��Ƒ��̒��v�Ƃ��āATraversal Technology��ݗ����Ă���B�u�����́AOGP�̎d�l�Ɋ�Â��n�[�h�E�F�A���쐬���A�ق��̉c���r�W�l�X�Ƃ̒�����߂邽�߂̉c���@�l��ݗ������B�����̖ړI�́A�I�[�v���A�[�L�e�N�`���̃O���t�B�b�N�X�n�[�h�E�F�A�̔̔���ʂ��āA�����̊������ێ����A������I�[�v���A�[�L�e�N�`���n�[�h�E�F�A�̊J���𑱂��Ă������߂̎����邱�Ƃł���v�B
�@Open Graphics Foundation�iOGF�j�̐ݗ����i�߂��Ă���B�~���[����OGF�̖��������̂悤�ɐ������Ă���B�u�iOGF�́A�jOGP�𐳎��ɑ�\���钆�S�I�G�[�W�F���g�Ƃ��Ă̖������ʂ����B����ɁAOGF�͊�t�����t���āA�����OGP�̊J���҂ɕK�v�ȃn�[�h�E�F�A���w�����邽�߂̕⏕���ɉ\��ł���v�B
�@���̃v���W�F�N�g�̖ڕW�́A������m�I���L���ɔς킳�ꂸ�ɗ��p�ł��A��������ƃh�L�������g�����ꂽ�v���O���~���O�C���^�t�F�[�X������A���S��OpenGL�������T�|�[�g���A���p�t�H�[�}���X��2D�O���t�B�b�N�X���������A�r�f�I�Đ����T�|�[�g���Ă���K�����i�̃r�f�I�J�[�h����邱�Ƃł���B
�@���̃v���W�F�N�g�́ANvidia��ATI�̂悤�ȃw�r�[����3D�r�f�I�J�[�h�ɑ��ċ����ނ��̂ł͂Ȃ��AXgl�̂悤�ȃ\�t�g�E�F�A��y�߂�3D�Q�[���ɕK�v�Ȓ��x��3D�@�\���T�|�[�g����r�f�I�J�[�h���쐬���悤�Ƃ��鎎�݂ł���B���̃J�[�h�ŁuDoom 4�v���v���C����͓̂�����ALinux�f�X�N�g�b�v�}�V���p�̓���ۏ��ꂽ�r�f�I�J�[�h����������Ƃ������[�U�[�ɂ͂҂�����ł���B���̃r�f�I�J�[�h�̎d�l��Open Graphics Development��Web�T�C�g�Ō��邱�Ƃ��ł���B
�@�~���[���ɂ��ATraversal�͒x���Ƃ�9���܂ł�Open Graphics Development�V���[�Y1�iOGD1�j�J�[�h���o�ׂ���\��ł���B�������A����̓r�f�I�J�[�h�ł͂Ȃ��BOGD1�́A�ŏI���i�̊J���Ɏg�p�ł���Field-Programmable Gate Array�iFPGA�j�x�[�X�̃e�X�g�J�[�h�ł���B�~���[���́A���̃J�[�h���̂��̂ɂ��s�ꂪ����ƌ���Ă���B
�@�uTech Source���番���������߁A�����͂�������Ђ̐��i�Ƃ��Ĕ̔����Ă��悢���낤�Ɣ��f�����BFPGA�x�[�X�̃v���g�^�C�v�{�[�h�ɂ͂��Ȃ�傫�Ȏs�ꂪ����B����ɂ����̐��i�́A����܂Ŏs��ɏo�Ă������i�ɔ�ׂāA�����̈ꂩ�̉��i�ł��傫�ȃ��W�b�N�G���A������Ă���B���̐��i�́A�����ɑ傫�ȗ��v�������炷�����łȂ��A�S�������Ă���Ă���p�[�g�i�[�ɑ��āA�����̐^�����Ƌ����͂��������Ƃɂ��Ȃ�v�B
�@�~���[���ɂ��ƁA���̃J�[�h�̉��i�́u�Œ�1000�h�������A��ʒ����ɂ͊���������v�Ƃ������Ƃ��B�������i�͂�������1200�h���O��ł���Ƃ������Ƃɂ��ẮA�u�@�\�͂����̐��i�̕����D��Ă���v�ƌ���Ă���B
�@����ɁA�R���g���r���[�^�͂��̃J�[�h���������i�œ���ł���B�~���[���ɂ��A�uOGP�ɉ��炩�̍v�����������Ƃ��ؖ��ł���J���ҁv�ł���AODG1��600�`700�h���œ��肷�邱�Ƃ��ł���i��̓I�ȋ��z�͎��ۂ̃n�[�h�E�F�A�̉��i�ɂ��j�B
�@���̋Z�p�𗘗p�����Œ�@�\�r�f�I�J�[�h�̃����[�X�����≿�i�́A�����_�ł͂܂����\����Ă��Ȃ��B
Copyright © 2010 OSDN Corporation, All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);